Changelog History
Page 1
-
v3.10.5 Changes
January 02, 2022- #include <filesystem> doesn't work with gcc-7 when
-std=c++17
is specified. #3203 - Not able to use nlohmann json with c++ code built using emscripten to wasm #3200
- β Warning for shadowed variables #3188
- Accessing missing keys on const json object leads to assert #3183
- Data member is available, but null is reported, and program throws error #3173
- serialization problem, from_json need construct new object #3169
- π std::filesystem unavailable on macOS lower deployment targets #3156
- π» [json.exception.type_error.305] cannot use operator[] with a string argument with string #3151
- json::dump() is not compatible with C++ standards #3147
- π Issue with json::parse decoding codepoints #3142
- π Simple parse of json object thinks it should be an array #3136
- How to properly read a Json string that may be null in some cases? #3135
- π Deadlock on create json - windows only #3129
- π Wrong parsing of int64 values nearest of limit #3126
- π ordered_json doesn't support range based erase #3108
- π Apple build failed with json/single_include/nlohmann/json.hpp:4384:57: 'path' is unavailable #3097
- GCC 7.5.0 with --std=c++17: filesystem: No such file or directory #3090
- β¬οΈ Drop Travis CI #3087
- ordered_json::reset() compile error with nvcc #3013
- Support for unordered_map as object_t #2932
- β Compiler warning with Intel compiler, same as #755 #2712
- β Compiler warnings with NVCC 11.2 #2676
- β some static analysis warning at line 11317 #1390
Compiling with icpc #755
β Add build step for NVCC and fix a warning #3227 (nlohmann)
π Fix: Warning for shadowed variables (#3188) #3193 (kernie)
π Fix FAQ hyperlink typo in readme #3148 (Prince-Mendiratta)
Docs: Update
skip_comments
toignore_comments
#3145 (daniel-kun)β Add missing erase(first, last) function to ordered_map #3109 (nlohmann)
β Add examples for parsing from iterator pair #3100 (nlohmann)
π Allow to use get with explicit constructor #3079 (nlohmann)
π fix std::filesystem::path regression #3073 (theodelrieu)
π Fix assertion failure for JSON_DIAGNOSTICS #3037 (carlsmedstad)
meta: fix is_compatible/constructible traits #3020 (theodelrieu)
β‘οΈ Set parent pointers for values inserted via update() (fixes #3007). #3008 (AnthonyVH)
π Fix -Wunused warnings on JSON_DIAGNOSTICS #2976 (gcerretani)
- #include <filesystem> doesn't work with gcc-7 when
-
v3.10.4 Changes
October 16, 2021- Compiler error in output serializer due to 'incompatible initializer' #3081
- Strange behaviour when using std::sort on std::vector<json> #3080
- π Unhandled exception: nlohmann::detail::parse_error #3078
- 0οΈβ£ explicit constructor with default does not compile #3077
- π Parse an object but get an array using GCC #3076
- π Version 3.10.3 breaks backward-compatibility with 3.10.2 #3070
- Feature request, Add to_json/from_json to align with other to/from binary api. #3067
vcpkg is out of date #3066
π Allow to use get with explicit constructor #3079 (nlohmann)
π fix std::filesystem::path regression #3073 (theodelrieu)
π Fix assertion failure for JSON_DIAGNOSTICS #3037 (carlsmedstad)
meta: fix is_compatible/constructible traits #3020 (theodelrieu)
β‘οΈ Set parent pointers for values inserted via update() (fixes #3007). #3008 (AnthonyVH)
π Fix -Wunused warnings on JSON_DIAGNOSTICS #2976 (gcerretani)
-
v3.10.3 Changes
October 08, 2021- π Parsing an emtpy string returns a string with size 1 instead of expected 0 #3057
- π Linking error "duplicate symbol: std::type_info::operator==" on static build with MinGW #3042
- Yet another assertion failure when inserting into arrays with JSON_DIAGNOSTICS set #3032
- π accept and parse function not work well with a pure number string #3029
- push_back doesn't work for serializing containers #3027
- Strange behaviour when creating array with single element #3025
- Input ordered_json doesn't work #3023
- Issue iterating through 'items' #3021
- Cannot spell the namespace right #3015
- π JSON Parse error when reading json object from file #3011
- β‘οΈ Parent pointer not properly set when using update() #3007
- Overwriting terminated null character #3001
- 'operator =' is ambiguous on VS2017 #2997
- JSON Patch for Array Elements #2994
- π JSON Parse throwing error #2983
- to_{binary format} does not provide a mechanism for specifying a custom allocator for the returned type. #2982
- 3.10.1 zip json.hpp has version number 3.10.0 instead of 3.10.1 #2973
- Assertion failure when serializing array with JSON_DIAGNOSTICS set #2926
-
v3.10.2 Changes
August 26, 2021- Annoying -Wundef on new JSON_DIAGNOSTICS macro #2975
- += issue with multiple redirection. #2970
"incomplete type βnlohmann::detail::wide_string_input_helper" compilation error #2969
π Fix -Wunused warnings on JSON_DIAGNOSTICS #2976 (gcerretani)
-
v3.10.1 Changes
August 24, 2021- JSON_DIAGNOSTICS assertion for ordered_json #2962
- Inserting in unordered json using a pointer retains the leading slash #2958
- β Test #9: test-cbor test case sample.json fails in debug mode - Stack overflow #2955
- 3.10.0 broke at least the Bear project #2953
- 2 tests fail in 3.10.0: cmake_fetch_content_configure, cmake_fetch_content_build #2951
- ctest (58+60,/67 cmake_import_configure) fails when build with -D JSON_Install:BOOL=OFF because of missing nlohmann_jsonTargets.cmake #2946
- Document vcpkg usage #2944
- π Linker error LNK2005 when compiling (x64) json-3.10.0.zip with Visual Studio 2019 16.11.1 #2941
π Move Travis jobs to travis-ci.com #2938
π Fixed typo in docs/api/basic_json/parse.md #2968 (mb0202)
π Fix parent update for diagnostics with ordered_json #2963 (nlohmann)
β Set stack size for some unit tests when using MSVC #2961 (nlohmann)
β Add documentation for integration via vcpkg #2954 (nlohmann)
π¨ fix gdb_pretty_printer failure on basic types #2950 (senyai)
β Skip some tests if JSON_Install is not set #2947 (nlohmann)
β‘οΈ Updating the Homebrew Command #2943 (amirmasoudabdol)
-
v3.10.0 Changes
August 17, 2021- β Latest version 3.9.1 uses throw instead of JSON_THROW in the amalgamated json.hpp file #2934
- Copy to a variable inside a Structure #2933
- β warning C4068: unknown pragma 'GCC' on MSVC/cl #2924
- β Errors during ninja test #2918
- β compiler warning: "not return a value" #2917
- β Comparison floating points causes warning #2909
- β Why can't I have std::vector<json&> testList? #2900
- π [json.hpp] from releases doesnt work #2897
- β g++ (11) -Wuseless-cast gives lots of warnings #2893
- Cannot serialize and immediatly deserialize json to/from bson #2892
- Floating-point precision conversion error #2876
- How to avoid escaping for an already escaped string in .dump() #2870
- π can't parse std::vector<std::byte> #2869
- ASAN detects memory leaks #2865
- Binary subtype field cannot represent all CBOR tags #2863
- π string literals possibly being parsed as another type due to the presence of only digits and full-stops #2852
- π json::parse() works only with absolute paths #2851
- β Compiler Warnings on Raspberry Pi OS #2850
- Braced initialization and aggregate initialization behavior is different for
json::array()
function call. #2848 - β 3.9.1: test suite is failing #2845
- Documentation for macro JSON_NO_IO is missing #2842
- Assertion failure when inserting into arrays with JSON_DIAGNOSTICS set #2838
- HELP! There is a memory leak in the code?! #2837
- Elegant conversion of a 2-D-json array to a standard C++ array #2805
- π¦ Swift Package Manager support #2802
- Referencing a subkey which doesn't exist gives crash #2797
- Failed benchmark due to renamed branch #2796
- π Build Errors with VS 2019 and json Version 3.9.1 when attempting to replicate SAX Example #2782
- π Value with spaces cannot be parsed #2781
- π [Question] CBOR rfc support. #2779
- Using JSON.hpp header file in Visual Studio 2013 (C++ Project) #2775
- compilation error on clang-8 + C++17 #2759
- Undefined symbol EOF #2755
- π Parsing a string into json object behaves differently under g++ and MinGW compilers. #2746
- big git history size #2742
- How to get reference of std::vector<T> #2735
- CMake failure in VS2019 Community #2734
- Possibility to use with custom c++ version to use in intel sgx enclaves #2730
- Possibility to use without the dependency to file io and streams to use in intel sgx enclaves #2728
- error C2784& error C2839... in my visual studio 2015 compiler #2726
-fno-expection
not respected anymore in 3.9.1 #2725- When exceptions disabled with JSON_NOEXCEPTION, lib just aborts without any message #2724
- π Critical error detected c0000374 on windows10 msvc 2019 16.8.5 #2710
- β unused parameter error/warning #2706
- How to store data into a Map from json file #2691
- π Tests do not compile with pre-release glibc #2686
- π compile errors .... chromium-style #2680
- .dump() not allowing compact form #2678
- error: no matching function for call to βnlohmann::basic_json<>::value(int, std::set<int>&)β #2671
- β Compiler warning: unused parameter #2668
- Deserializing to a struct as shown on the project homepage throws compile time errors #2665
- Unable to compile on MSVC 2019 with SDL checking enabled: This function or variable may be unsafe #2664
- π» terminating with uncaught exception of type nlohmann::detail::type_error: [json.exception.type_error.302] type must be array, but is object #2661
- unused-parameter on OSX when Diagnostics is off #2658
- std::pair wrong serialization #2655
- The result of json is_number_integer() function is wrong when read a json file #2653
- 2 backslash cause problem #2652
- π No support for using an external/system copy of Hedley #2651
- error: incomplete type 'qfloat16' used in type trait expression #2650
- π» Unused variable in exception class when not using improved diagnostics #2646
- I am trying to do this - converting from wstring works incorrectly! #2642
- π Exception 207 On ARM Processor During Literal String Parsing #2634
- π double free or corruption (!prev) error on Json push_back and write #2632
- π nlohmann::detail::parse_error: syntax error while parsing CBOR string: expected length specification (0x60-0x7B) or indefinite string type (0x7F) #2629
- please allow disabling implicit conversions in non-single-file use #2621
- Preserve decimal formatting #2618
- Visual Studio Visual Assist code issues reported by VA code inspection of file json.hpp #2615
- Missing get function and no viable overloaded '=' on mac #2610
- π corruption when parse from string #2603
- π Parse from byte-vector results in compile error #2602
- π§ Memory leak when working on ARM Linux #2601
- β Unhandled exception in test-cbor.exe Stack overflow when debugging project with Visual Studio 2019 16.7.7 compiled with c++17 or c++latest #2598
- β Error in download_test_data.vcxproj when compiling with Visual Studio 2019 16.7.7 Professional msbuild on Windows 10 2004 Professional #2594
- π Warnings C4715 and C4127 when building json-3.9.1 with Visual Studio 2019 16.7.7 #2592
- I tried some change to dump() for [1,2,3...] #2584
- π try/catch block does not catch parsing error #2579
- Serializing uint64_t is broken for large values #2578
- deserializing arrays should be part of the library #2575
- 0οΈβ£ Deserialization to std::array with non-default constructable types fails #2574
- Compilation error when trying to use same type for number_integer_t and number_unsigned_t in basic_json template specification. #2573
- compiler error: directive output may be truncated writing between 2 and 8 bytes #2572
- Incorrect convert map to json when key cannot construct an string i.e. int #2564
- no matching function for call to βnlohmann::basic_json<>::basic_json(<brace-enclosed initializer list>)β #2559
- type_error factory creates a dangling pointer (in VisualStudio 2019) #2535
- Cannot assign from ordered_json vector<CustomStruct> to value in not ordered json #2528
- Qt6: Break changes #2519
- π valgrind memcheck Illegal instruction when use nlohmann::json::parse #2518
- Buffer overflow #2515
- π Including CTest in the top-level CMakeLists.txt sets BUILD_TESTING=ON for parent projects #2513
- Compilation error when using NLOHMANN_JSON_SERIALIZE_ENUM ordered_json on libc++ #2491
- Missing "void insert( InputIt first, InputIt last );" overload in nlohmann::ordered_map #2490
- π§ Could not find a package configuration file provided by "nlohmann_json" #2482
- json becomes empty for unknown reason #2470
- Using std::wstring as StringType fails compiling #2459
- Sample code in GIF slide outdated (cannot use emplace() with array) #2457
- β from_json<std::wstring> is treated as an array on latest MSVC #2453
- MemorySanitizer: use-of-uninitialized-value #2449
- I need help #2441
- type conversion failing with clang ext_vector_type #2436
- π json::parse() can't be resolved under specific circumstances #2427
- from_*(ptr, len) deprecation #2426
- π Error ONLY in release mode #2425
- "Custom data source" exemple make no sense #2423
- Compile errors #2421
- Refuses to compile in project #2419
- β Compilation failure of tests with C++20 standard (caused by change of u8 literals) #2413
- No matching function for call to 'input_adapter' under Xcode of with nlohmann version 3.9.1 #2412
- Git tags are not valid semvers #2409
- after dump, stderr output disappear #2403
- Using custom string. #2398
- π» value() throws unhandled exception for partially specified json object #2393
- assertion on runtime causes program to stop when accessing const json with missing key #2392
- Usage with -fno-elide-constructors causes dump() output to be array of
null
s #2387 - Build fails with clang-cl due to override of CMAKE_CXX_COMPILER(?) #2384
- std::optional not working with primitive types #2383
- Unexpected array when initializing a json const& on gcc 4.8.5 using uniform syntax #2370
- π setprecision support #2362
- π json::parse(allow_exceptions = false) documentation is misleading. #2360
- std::begin and std::end usage without specifying std namespace #2359
- Custom object conversion to json hangs in background thread #2358
- Add support of nullable fields to NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE and NLOHMANN_DEFINE_TYPE_INTRUSIVE #2356
- the portfile for the vcpkg is not working. #2351
- Compiler warns of implicit fallthrough when defining preprocessor macro NDEBUG #2348
- π Compile error on Intel compiler running in Windows #2346
- Build error caused by overwriting CMAKE_CXX_COMPILER #2343
- Error: an attribute list cannot appear here JSON_HEDLEY_DEPRECATED_FOR #2342
- β compiler warning #2341
- π 3.9.0: tests make build non-reproducible #2324
- π Initialization different between gcc/clang #2311
- Attempt to
get()
a numeric value as a type which cannot represent it should throw #2310 - Surprising behaviour with overloaded operators #2256
- ADL issue in input_adapter #2248
- Output adapters should be templated. #2172
- error when using nlohmann::json, std::function and std::bind #2147
- β Remove undefined behavior for const operator[] #2111
- json({}) gives null instead of empty object with GCC and -std=c++17 #2046
- π¨ GDB pretty printing support #1952
- β Always compile tests with all warnings enabled and error out on warnings #1798
- π Fixes Cppcheck warnings #1759
- π How to get position info or parser context with custom from_json() that may throw exceptions? #1508
- π Suggestion to improve value() accessors with respect to move semantics #1275
β Add Key name to Exception #932
β All: fix warnings when compiling with -Wswitch-enum #2927 (fhuberts)
Supress -Wfloat-equal on intended float comparisions #2911 (Finkman)
β Suppress C4127 warning in unit-json_pointer.cpp #2875 (nlohmann)
Consistency with
using
in README.md #2826 (justanotheranonymoususer)Properly constrain the basic_json conversion operator #2825 (ldionne)
β Specified git branch for google benchmark fetch in benchmark test #2795 (grafail)
β‘οΈ Update URLs to HTTPS #2789 (TotalCaesar659)
Add a cmake option to use SYSTEM in target_include_directories #2762 (jpl-mac)
replace EOF with std::char_traits<char>::eof() #2756 (nlohmann)
π Fix typo in README #2754 (mortenfyhn)
Possibility to use without the dependency to file io and streams to use in intel sgx enclaves #2729 (theShmoo)
pkg-config.pc.in: Don't concatenate paths #2690 (doronbehar)
β‘οΈ Update doctest from 2.4.4 to 2.4.6 (fixes #2686) #2687 (musicinmybrain)
π Update parse_exceptions.md - correct
json::exception::parse_error
#2679 (frasermarlow)β Remove HEDLEY annotation from exception::what() #2673 (remyjette)
π Fix amount of entries in the json object #2659 (abbaswasim)
π Fix missing 1.78 in example in README.md #2625 (wawiesel)
β Add support for deserialization of STL containers of non-default constructable types (fixes #2574). #2576 (AnthonyVH)
β Add switch to skip non-reproducible tests. #2560 (nlohmann)
π Fix compilation of input_adapter(container) in edge cases #2553 (jasujm)
π Allow parsing from std::byte containers #2550 (nlohmann)
β Travis doesn't run any tests in C++17 mode #2540 (karzhenkov)
Clarify license of is_complete_type implementation #2534 (nlohmann)
Do not unconditionally redefine C++14 constructs #2533 (nlohmann)
β Add MAIN_PROJECT check for test and install options #2514 (globberwops)
β Ranged insert test section is added in unit-ordered_json.cpp #2512 (YarikTH)
Change argument name "subtype" in byte_container_with_subtype #2444 (linev)
π Fix move constructor of json_ref #2405 (karzhenkov)
π Properly select "Release" build for Travis #2375 (karzhenkov)
π Fix and extend documentation of discarded values #2363 (nlohmann)
β Remove "#define private public" from tests #2352 (nlohmann)
π fix cmake script overwriting compiler path #2344 (ongjunjie)
-
v3.9.1 Changes
August 06, 2020π Release date: 2020-08-06
SHA-256: 7804b38146921d03374549c9e2a5e3acda097814c43caf2b96a0278e58df26e0 (json.hpp), 6bea5877b1541d353bd77bdfbdb2696333ae5ed8f9e8cc22df657192218cad91 (include.zip)Summary
This release fixes two bugs in the features introduced in release 3.9.0. The lexer did not accept consecutive comments , and
ordered_json
lacked some functions fromjson
. All changes are backward-compatible.π π° Note you can support this project via GitHub sponsors or PayPal.
π± π Bug Fixes
- The lexer did not accept input with two or more consecutive comments (e.g.
/* one */ /* two */ []
). #2330 #2332 - The newly introduced
ordered_json
container did not implement the complete interface ofbasic_json
which broke existing code whenjson
was replaced byordered_json
, in particular when trying to callordered_json::parse
. #2315 #2319 #2331
π± π¨ Further Changes
- Install pkg-config file to
CMAKE_CURRENT_BINARY_DIR
instead ofCMAKE_BINARY_DIR
#2318 - Make installation directory of pkg-config file depend on
CMAKE_INSTALL_LIBDIR
. #2314 - π Fix
-Wimplicit-fallthrough
warning. #2333 - π Fix name of Homebrew formula in documentation. #2326 #2327
- π Fix typo in documentation. #2320
π± π₯ Deprecated functions
π The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):
- Function
iterator_wrapper
are deprecated. Please use the member functionitems()
instead. - Functions
friend std::istream& operator<<(basic_json&, std::istream&)
andfriend std::ostream& operator>>(const basic_json&, std::ostream&)
are deprecated. Please usefriend std::istream& operator>>(std::istream&, basic_json&)
andfriend operator<<(std::ostream&, const basic_json&)
instead. - π Passing iterator pairs or pointer/length pairs to parsing functions (
basic_json::parse
,basic_json::accept
,basic_json::sax_parse
,basic_json::from_cbor
,basic_json::from_msgpack
,basic_json::from_ubjson
,basic_json::from_bson
) via initializer lists is deprecated. Instead, pass the elements individually without braces.
π All deprecations are annotated with
HEDLEY_DEPRECATED_FOR
to report which function to use instead. - The lexer did not accept input with two or more consecutive comments (e.g.
-
v3.9.0 Changes
July 27, 2020- Unknown Type Name clang error when using NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE #2313
- β Clang 10.0 / GCC 10.1 warnings on disabled exceptions #2304
- Application stalls indefinitely with message byte size 10 #2293
- π linker error #2292
- β Add support for high-precision numbers in UBJSON encoding #2286
- NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE fails if the length of the argument is 10 #2280
- Custom types : MACRO expansion bug #2267
- to/from_json Failing To Convert String #2238
- β clang 9.0 report warning: unused type alias 'size_type' [-Wunused-local-typedef] #2221
- Enormous array created when working with map<int,T> #2220
- Can I disable sorting of json values #2219
- Getting Qt types to work #2217
- Convert to Qt QVariant #2216
- How to custom serialize same data type of vector? #2215
- π json constructor does not support std::optional #2214
- π Failing to Parse Valid JSON #2209
- (De-)Serialization of std::variant with namespaces #2208
- β Addint support for complex type #2207
- array_index possible out of range #2205
- Object deserialized as array #2204
- Sending to a function a reference to a sub-branch #2200
- How to Serialize derived class to JSON object? #2199
- JSON incorrectly serialized #2198
- Exception Unhandled out_of_range error #2197
- msgpack serialisation : float is treated as 64bit float, not 32bit float. #2196
- Is it possible to use compile-time type guarantees for JSON structures? #2195
- π Question : performance against python dict #2194
- vs2017 compile error #2192
- Check if a key exists #2191
- π Failed to run tests due to missing test data on builders without Internet access #2190
- β 3.8.0: unit-cbor.cpp test failures #2189
- 'nlohmann/json.hpp' file not found #2188
- How to send json data over the wire? #2185
- π Ubuntu 16 not supporting nlohmann/json? #2184
- .get<std::string> causing emdash errors #2180
- Object properties should not be re-sorted alphabetically #2179
- Custom type registration : instrusive API #2175
- Many version of the function "void to_json(json& j, const MyStruct& struct)" #2171
- How should strings be escaped? #2155
- β Adding a value to an existing json puts it at the beginning instead of the end #2149
- The header file is big, can we use what we need. #2134
- 0οΈβ£ Changing the default format for unordered_map (or other set) #2132
- Getting size of deserialized bson document #2131
- implicit conversion failure #2128
- π Error thrown when parsing in a subclass #2124
- explicit conversion to string not considered for std::map keys in GCC8 #2096
- β Add support for JSONC #2061
- Library provides template arg for string_type but assumes std::string in some places #2059
- π incremental parsing with sax_parser #2030
- Question about flatten and unflatten #1989
- π CBOR parser doesn't skip tags #1968
- π Compilation failure using Clang on Windows #1898
- π Fail to build when including json.hpp as a system include #1818
- π Parsing string into json doesn't preserve the order correctly. #1817
- [C++17] Allow std::optional to convert to nlohmann::json #1749
- How can I save json object in file in order? #1717
- π Support for Comments #1513
- clang compiler: error : unknown type name 'not' #1119
- dump() without alphabetical order #1106
- operator T() considered harmful #958
- Order of the elements in JSON object #952
- How to prevent alphabetical sorting of data? #727
- Why is an object ordering values by Alphabetical Order? #660
- π Feature request: Comments #597
- Head Elements Sorting #543
- Automatic ordered JSON #424
- π Support for comments. #376
- π Optional comment support. #363
- Strip comments / Minify #294
maintaining order of keys during iteration #106
added inline to NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE macro #2306 (jwittbrodt)
β Add test with multiple translation units #2301 (nlohmann)
β Add support for high-precision numbers in UBJSON encoding #2297 (nlohmann)
Serialisation macros: increase upper bound on number of member variables #2287 (pfeatherstone)
β add inline specifier for detail::combine #2285 (T0b1-iOS)
β Add static assertion for missing binary function in SAX interface #2282 (nlohmann)
π Clean up maintainer Makefiles and fix some linter warnings #2274 (nlohmann)
π Make library work with Clang on Windows #2259 (nlohmann)
β Add ordered_json specialization with ordered object keys #2258 (nlohmann)
π· Tag binary values in cbor if set #2244 (matthewbauer)
π§ Make assert configurable via JSON_ASSERT #2242 (nlohmann)
π Refine documentation of error_handler parameter #2232 (nlohmann)
Enable CMake policy CMP0077 #2222 (alexreinking)
β Add option to ignore comments in parse/accept functions #2212 (nlohmann)
π Simple ordered_json that works on all supported compilers #2206 (gatopeich)
π Use unsigned indizies for array index in json pointer #2203 (t-b)
β Add option to not rely on Internet connectivity during test stage #2202 (nlohmann)
Serialize floating-point numbers with 32 bit when possible (MessagePack) #2201 (nlohmann)
π C++20 support by removing swap specialization #2176 (gracicot)
Feat/explicit conversion operator #1559 (theodelrieu)
-
v3.8.0 Changes
June 14, 2020- sorry delete this issue, i'm stupid #2187
- Append to a std::nlohmann::json type #2186
- Some troubles to compile the last revision #2177
- β#βΒ TopΒ levelΒ CMakeLists.txtβ βprojectβ(FOO) ... π βoptionβ(FOO_USE_EXTERNAL_JSONΒ β"UseΒ anΒ externalΒ JSONΒ library"βΒ βOFFβ) ... βadd_subdirectoryβ(thirdparty) ... βadd_libraryβ(fooΒ ...) ... β#βΒ NoteΒ thatΒ theΒ namespacedΒ targetΒ willΒ alwaysΒ beΒ availableΒ regardlessΒ ofΒ theβ β#βΒ importΒ methodβ π βtarget_link_librariesβ(fooΒ βPRIVATEβΒ nlohmann_json::nlohmann_json) #2170
- https://www.github.com/nlohmann/json/tree/develop/include%2Fnlohmann%2Fjson\_fwd.hpp #2169
- templated from_json of non primitive types causes gcc error #2168
- β few warnings/errors in copy assignment #2167
- β¬οΈ Different output when upgrading from clang 9 to clang 10 #2166
- π Cannot build with VS 2019 / C++17 #2163
- Q: When I received an illegal string,How the program knows? #2162
- Problem while reading a json file #2161
- converting std::chrono::system_clock::time_point to json. #2159
- π how to parse vector<struct> format #2157
- nlohmann::json and =nullptr #2156
- β test-cbor fails #2154
- Accessing array inside array syntax? #2151
- Best way to catch errors when querying json #2150
- JSON Data Mapping Key-Value from other Key-Value #2148
- Conflicts with std <any> compiling with GCC 10 #2146
- Incorrect CMake FetchContent example #2142
- Help for a Beginner? #2141
- Read Json from File #2139
- How to feed a predefined integer value into json string #2138
- getting json array inside json object #2135
- β Add .contains example to doc #2133
- Is it safe to return string.c_str() received from get()? #2130
- GCC 10: Compilation error when including any before including json header in C++17 mode #2129
- Intersection of two json files #2127
- App crashes when dump method called for non ascii chars. #2126
- iterator based erase method #2122
- quick and convenient api to get/set nested json values #2120
- assigning nullptr to std::string #2118
- β usless_cast warnings with gcc 9.3 and 10.1 (C++17) #2114
- β clang 10 warning #2113
- Possible incorrect _MSC_VER reference #2112
- β warning under gcc 10.1 #2110
- π Wdeprecated-declarations from GCC v10.1.0 #2109
- Global std::vector from json #2108
- β heap-buffer-overflow when using nlohmann/json, ASAN, and gtest #2107
- π» exception 0x770DC5AF when i read an special char in json file #2106
- π json::parse() fails to parse a dump(2,' ') output, yet does successfully parse dump() #2105
- β run test-udt error in MSVC 19.16.27034.0 #2103
- Unable to dump to stringstream #2102
- Can't ad an object in another objet #2101
- Implicit conversion causes "cannot use operator[] with a string argument with string" #2098
- C++20: char8_t #2097
- Compilation issues when included in project #2094
- string value with null character causes infinite loop #2093
- corrupted size vs. prev_size (aborted) #2092
- Get string field content without return std::string copy #2091
- JSON Comments (JSON 5) #2090
- β Remove #include <ciso646> #2089
- JSON library as a git submodule #2088
- π Apple Clang 11.0.3 on MacOS Catalina 10.15.4 not compiling #2087
- Value function return empty object even if it exist #2086
- Cannot debug but Run works #2085
- Question about serialization. #2084
- How to include in an external project #2083
- β Missing tests for binary values #2082
- 0οΈβ£ How to override default string serialization? #2079
- Can't have a json type as a property in an arbitrary type #2078
- π New release? #2075
- π CMake FetchContent > Updating the documentation? #2073
- How to convert STL Vector (of user defined type) to Json #2072
- how to make an array of objects #2070
- β__int64β was not declared #2068
- π» [json.exception.type_error.317] cannot serialize binary data to text JSON #2067
- Unexpected end of input; expected '[', '{', or a literal #2066
- Json structure can be nested? #2065
- π Bug: returning reference to local temporary object #2064
- π Allow to use non strict parsing #2063
- Crashing on json::at #2062
- π How to convert a const std::vector<char8_t> message to a json, to be able to parse it and extract information from it? Can you point to any examples? #2058
- Nice library #2057
- β‘οΈ json.hpp:15372:22: error: expected unqualified-id if (not std::isfinite(x)): Started getting this bug after updating my XCode #2056
- Confused as how I can extract the values from the JSON object. #2055
- β Warnings with GCC 10 #2052
- β Warnings with Clang 10 #2049
- β‘οΈ Update doctest #2048
- Unclear error message: "cannot use operator[] with a string argument with array" #2047
- Serializing std::variant<T, std::vector<T>> #2045
- π Crash when parse big jsonfile #2042
- How to check if a key exists without silently generating null objects on the path #2041
- Crash when traversing over items() of temporary json objects #2040
- π How to parse multiple line value ? #2039
- SAX API uses unsigned std::size_t but -1 if element size is not known; #2037
- π How to parse big decimal data #2036
- how use template <typename T> struct adl_serializer #2035
- auto iterator returned by find to handle value depending if is string or numeric. #2032
- pass find returned iterator to numeric variable. #2031
- π Parse error on valid json file #2029
- Is here any elegant way to combine serialization and deserialization code? #2028
- Notes about dump function #2027
- π§ Different JSON printouts for empty dictionary on Linux and Mac. #2026
- easier way to get exception reason out of json_sax_dom_callback_parser without exceptions #2024
- Using fifo_map with base class and derived class #2023
- Error reading JSON File #2022
- π Parse causing crash on android. Cannot catch. #2021
- Extra backslashes in nested json #2020
- π How to create patch for merge_patch input ? #2018
- CppUTest/include/CppUTestExt/MockSupport.h:40: error: default argument for βMockFailureReporter* failureReporterForThisCallβ has type βvoid*β #2017
- including another file #2016
- GNU PREREQ Error with gcc 9.3.0 #2015
- π Parse error: json.exception.parse_error.101 - invalid string: ill-formed UTF-8 byte #2014
- β Add more flexibility to basic_json's ObjectType (and ArrayType) #2013
- afl persistent mode #2012
- π· Compiler Errors under VS2019 in Appveyor CI #2009
- Another compilation failure with Visual Studio #2007
- Implicit cast to std::string broken again with VS2019 16.5.0 #2006
- error: no matching member function for call to 'AddRaw' #2005
- When I re-create an object again after the network request, an error is reported #2003
- π How to merge (and not replace) different Json::Value objects in jsoncpp #2001
- scalar transforms to list #2000
- Dump JSON containing multibyte characters #1999
- π Build error when modify value #1998
- How do i include a vector of pointers in my json? #1997
- Compiler error wrt incomplete types changed in gcc8.3.0-26 #1996
- NaN-like comparison behavior of discarded is inconvenient #1988
- π¦ Maintaining JSON package in my CMake #1987
- reading int number and string number #1986
- π Build error: keyword is hidden by macro definition! #1985
- JSON patch diff for op=add formation is not as per standard (RFC 6902) #1983
- π» json_pointer.contains() exception is incorrectly raised #1982
- Error with non existing key #1981
- Closed #1978
- Where is the library built and what is the name? #1977
- π The cmake_import example does not build #1976
- Dumping core when reading invalid file #1975
- Abort in dump() method #1973
- Unclear docs regarding parser_callback_t callbacks #1972
- Possible memory leak on push_back #1971
- Is it possible to get a safe mutable reference/pointer to internal variant used in nlohmann json? #1970
- Getting a flatten json to map<string, string> #1957
- π» forced type conversion or lexical cast without exception. #1955
- β Add json_view type support to avoid excessive copying #1954
- β Adding "examples" section for real-life usages #1953
- β Add nlohmann::json::key_type #1951
- cannot use operator[] with a string argument with string #1949
- std::ifstream >> json error #1948
- β‘οΈ Cannot update json data in an iterator? #1947
- π How can i build this library in VS 2017? #1943
- json_pointer.contains() exceptions when path not found #1942
- Nested objects serialize/deserialize #1941
- β Compile warning on architectures that are not x86 #1939
- π Version of nlohmann-json-dev in debian packages #1938
- Create a json object for every cycle #1937
- How to get the object name? #1936
- Reserve and resize function for basic json #1935
- π How to use json parse in tsl::ordread_map? #1934
- π C++14 support is not enabled with msvc2015 #1932
- Need help with to_json for derived class, keep getting "cannot use operator" #1931
- How to handle std::vector<std::uint8_t> #1930
- Heap corruption issue #1929
- β Add
std::wistream
support. #1928 - This i can write and read any file thanks #1927
- How can I get this simple example working? #1926
- π emplace_back does not seems to work with the int 0 #1925
- π Why nlohmann does not release memory #1924
- π Is it possible to have template
json::parse
withnoexcept
specifier? #1922 - JSON to wstring? #1921
- π GCC 10 tests build failure #1920
- Size of binary json representations #1919
- Accessing strings (for example in keys or values) without having the lib create a copy of it. #1916
- π operator== documentation should show how to apply custom comparison function #1915
- π char8_t and std::u8string support #1914
- π std::is_pod is deprecated in C++20 #1913
- Incomplete types reported by (experimental) GCC10 #1912
- β Compile warnings on MSVC 14.2 #1911
- π How to parse json file with type composition of std::optional and std::variant #1910
- why root_schema be implemented as unique_ptr in json-validator.cppοΌcould I use it as shared_ptr? #1908
- compile error in gcc-6.3.0 #1906
- Scalar constexpr is odr-used when used as json initializer #1905
- install Slack app #1904
- typo in a comment #1903
- Watch JSON variables in Debug #1902
- does Json sdk cares about dfc dfd utf8 issue? #1901
- π Allow multiple line string value in JSON #1897
- Writing map to json file #1896
- π Small documentation mistake #1895
- π why static function
parse
cann't find in visual studio 2019 #1894 - Best way to handle json files with missing key value pairs. #1893
- accessing json object as multimap #1892
- π What is the best way to parse vec3s into glm::vec3 #1891
- Get array of items without using vector #1890
- π Build errors (clang 11.0.0) on macOS 10.15.2 #1889
- Multiple arrays to vectors help #1888
- π json::parse(begin, end) parse error on first character using uchar* #1887
- π issue in free() #1886
- is_number_unsigned() returns false for positive integers (int or 0 or 1 literals) #1885
- MSVC build failure with /Zc:__cplusplus and C++17 #1883
- RFC 6901 op:replace & arrays #1882
- Problem with serialization of my custom template doubly-linked list #1881
- is_array() is True, but raise 'cannot use operator[] for object iterators' #1880
- Serialize dynamic array #1879
- Serialization of struct object. #1877
- β warning:c4503 #1875
- Why are flattened empty objects/arrays not representable? #1874
- Container Overflow (ASAN) when using operator >> on an ifs #1873
- Sub-array to vector or map object? #1870
- π§ WIP: QT (cute) type supports #1869
- Compiler flags to disable features and shrink code size #1868
- null strings #1867
- Struct with array of struct and __attribute__((packed)) #1866
- Best way to extract numbers in the string? #1865
- Displaying \?\Volume{guid} from string to json giving error #1864
- not working when compiling as x86 #1863
- π² Skipping evaluation of log line expressions with a macro, is it possible? #1862
- β Suppress warnings #1861
- π conflit with g++ compile option -mwindows #1860
- How to serialize nested classes to semi-flat JSON object? #1859
- Memory Requirement for large json file #1858
- Query a binary format (BSON, CBOR, MessagePack, UBJSON) #1856
- π Documentation on operator[] behavior with missing keys #1855
- π Problem in converting string into JSON; Can't parse successfully. #1854
- json.at_or_default(key, defaultval) #1852
- π please improve the enum conversion documentation (my example gist provided) #1851
- Default value returned on ValueType nlohmann::basic_json::value (const typename object_t::key_type& key, const ValueType& default_value) #1850
- Accounting for arbitrary precision numerical literals #1849
- While trying to make a simple array, I get a nested array instead #1848
- π How to reuse the parser and serializer intermediate storage? #1847
- Too much content in json.hpp leads to slow compilation #1845
- Cannot read some data in json file #1843
- Precompiled JSON library? #1842
- Please change assert into throw(maybe) in line 17946 #1841
- JSON for modern C++ ECCN information #1840
- π CI: reduce build time for Travis valgrind #1836
- How do I traverse a json object and add new elements into the hierarchy #1834
- Invalid UTF-8 byte at index 1: 0x65 #1831
- Serialize big data in json #1828
- π» Backslash '\' in value causes exception #1827
- 0οΈβ£ from_json for non default constructible class with dependency injection #1819
- β
Semi-frequent timeouts in
test-unicode_all
with 3.6.1 (aarch64) #1816 - input_adapter not user extensible #1813
- crash at json::destroy on android #1812
- π Logs are repeating while cmake #1809
- β Add a the possibility to add dynamic json objects #1795
- π Unnecessary test data file in the release #1790
- β Add support for parse stack limiting #1788
- β GCC -Wuseless-cast warnings #1777
- compilation issue with NVCC 9.0 #1773
- Unexpected behavior with fifo_map json when copy and append #1763
- π Parse error #1761
- Assignment (using value()) to nonexistent element behaves differently on Xcode 8 vs Xcode 10 #1758
- Readme out of date #1756
- cmake_* tests don't use the build system's compiler #1747
- Static assertions for template type properties required #1729
- π Use float and possibly half in json::to_cbor #1719
- json::from_cbor does not respect allow_exceptions = false when input is string literal #1715
- /Zc:__cplusplus leads to C2416 #1695
unflatten
vs objects with number-ish keys #1575- π A "thinner" source code tar as part of release? #1572
- Repository is almost 450MB #1497
- π Substantial performance penalty caused by polymorphic input adapter #1457
- π Move tests to a separate repo #1235
- β¬οΈ reduce repos size #1185
- π CMakeLists.txt in release zips? #1184
- Minimal branch? #1066
- π Move test blobs to a submodule? #732
- β [Question] When using this as git submodule, will it clone the whole thing include test data and benchmark? #620
- Need to improve ignores.. #567
- Minimal repository (current size very large) #556
- π― For a header-only library you have to clone 214MB #482
17 MB / 90 MB repo size!? #96
β‘οΈ Update URLs to HTTPS #2152 (TotalCaesar659)
π Fix Issue#1813: user defined input adapters #2145 (FrancoisChabot)
π Fix issue#1939: Cast character to unsigned for comparison #2144 (XyFreak)
π Fix issue#2142: readme: fix typo in CMake FetchContent example #2143 (quentin-dev)
Respect allow_exceptions=false for binary formats #2140 (nlohmann)
β Add bleeding edge GCC to CI #2136 (aokellermann)
π Fix issue#2086: disallow json::value_t type parameter in value() #2104 (dota17)
π Fix README.md. Missing ``` #2077 (ArthurSonzogni)
π Fix error message about invalid surrogate pairs #2076 (rmisev)
β Add CMake fetchcontent documentation and tests #2074 (ArthurSonzogni)
Properly pass serialize_binary to dump function #2071 (nlohmann)
π Fix returning reference to local temporary object #2069 (nlohmann)
β‘οΈ updated wandbox link #2060 (alexandermyasnikov)
β Add missing testcase about NaN in unit-constructor1.cpp #2043 (dota17)
Templatize basic_json constructor from json_ref #2034 (ArtemSarmini)
Fixes #1971 (memory leak in basic_json::push_back) #2025 (ArtemSarmini)
π fix #1982:json_pointer.contains() exception is incorrectly raised #2019 (dota17)
π fix error 'setw' is not a member of 'std' in Wandbox example #2002 (alexandermyasnikov)
Rename argument array_index to array_indx in json_pointer methods #1980 (linev)
README: Fix string representation of
dump
edjson
#1979 (alex-weej)π fix warnings in serializer.hpp for VS2019 #1969 (dota17)
appveyor.yml: Compile and test with latest version for __cplusplus ma⦠#1958 (t-b)
templated input adapters #1950 (FrancoisChabot)
π Update README.md : add a FAQ about memory release #1933 (dota17)
π Fix link to parse function in README #1918 (kastiglione)
β‘οΈ Readme: Updated links to hunter repo & docs #1917 (jothepro)
β Adds instruction for using Build2's package manager #1909 (Klaim)
β‘οΈ Update README.md #1907 (pauljurczak)
π Fix warning: ignoring return value #1871 (sonulohani)
π docs: add central repository as conan source to readme #1857 (gocarlos)
π¦ README: Package in MSYS2 renamed to nlohmann-json #1853 (podsvirov)
β‘οΈ Update tests that generate CMake projects to use main project's C++ compiler #1844 (Tridacnid)
π make CMake's version config file architecture-independent #1746 (uhoreg)
β Add binary type support to all binary file formats, as well as an internally represented binary type #1662 (OmnipotentEntity)
-
v3.7.3 Changes
November 17, 2019π Release date: 2019-11-17
SHA-256: 3b5d2b8f8282b80557091514d8ab97e27f9574336c804ee666fda673a9b59926 (json.hpp), 87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014 (include.zip)Summary
π This release fixes a bug introduced in release 3.7.2 which could yield quadratic complexity in destructor calls. All changes are backward-compatible.
π± π Bug Fixes
- β Removed
reserve()
calls from the destructor which could lead to quadratic complexity. #1837 #1838
π± π₯ Deprecated functions
π This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):
- Function
iterator_wrapper
are deprecated. Please use the member functionitems()
instead. - Functions
friend std::istream& operator<<(basic_json&, std::istream&)
andfriend std::ostream& operator>>(const basic_json&, std::ostream&)
are deprecated. Please usefriend std::istream& operator>>(std::istream&, basic_json&)
andfriend operator<<(std::ostream&, const basic_json&)
instead.
- β Removed