JSON for Modern C++ 3.9.0 release has been announced for general availability and is now available with long-awaited features.
JSON for Modern C++ is a library written is vanilla C++ 11 designed to feel and behave like a first-class citizen of the language.
This JSON tool adds four long-awaited features, some of which were requested five years ago. These are:
- The parser functions have now an option to ignore // and /* */ style comments even though comments are not officially part of the JSON specification.
- Preservation of the insertion order of object keys through the new type nlohmann::ordered_json as a drop-in replacement for nlohmann::json.
- Implicit conversions can now be switched off with a CMake or preprocessor option to prevent unexpected behavior.
- The mapping between user-defined types and JSON can now be expressed using convenience macros by just listing the names of the member variables to read/write.
Other highlights in this JSON library include added high-precision number support for UBJSON for integers larger than 9223372036854775807 (LLONG_MAX). The code now compiles with Clang on Windows.
You can find out more about the rest of the bug fixes, deprecations, new features, and source code download information from the official JSON for Modern C++ 3.9.0 release page found here.