Release Version 3
This is the next significant release of DAW JSON Link with lots of goodies and help to make the job of mapping JSON to C++ data structures easier along with a much improved json_value that allows on demand parsing via a DOM like interface without the storage. Together they allow for parsing pretty much any JSON entity.
What's Changed
-
type deduction in mappings. This allows integration with Reflection and reflection like libraries(e.g. Boost.Describe)
-
Pretty printing/output formatting options
-
json_nullable/readable trait to separate nullability from mappers
-
json_raw/json_custom for things that don't fit
-
Json Schema generation via to_json_schema
-
Minimized symbol names
-
Using a single Options value for member mappings, serialization options, and parse options
-
Using better testing in CI
-
added
json_type_alias
mapping type to allow classes to be parsed as other types e.g json_string/json_number/...
... and more -
Updated json_value to allow for better exploration by @beached in #284
-
Made json exception inherit from std::exception by @beached in #287
-
Documentation and -fno-exceptions update by @beached in #292
-
benchmark and json_value conversion enhancements by @beached in #298
-
clang-9 and clang-10 bugfix and renamed Readable concept to Nullable by @beached in #305
-
Fixed code that wasn't updated to new mapping by @beached in #306
-
excluding clang-9/Debug/cpp17 from CI due to compiler ICE by @beached in #307
-
Updated code links in documents and pined version of extern deps by @beached in #308
-
Fix: from_json of json_value dropped class bounds and allocator by @beached in #309
New Contributors
Full Changelog: v2.10.2...v3.0.0