Changelog History
Page 3
-
v3.3.0 Changes
October 05, 2018- π¨ When key is not found print the key name into error too #1273
- β Visual Studio 2017 15.8.5 "conditional expression is constant" warning on Line 1851 in json.hpp #1268
- how can we get this working on WSL? #1264
- Help needed #1259
- A way to get to a JSON values "key" #1258
- While compiling got 76 errors #1255
- Two blackslashes on json output file #1253
- Including nlohmann the badwrong way. #1250
- π how to build with clang? #1247
- π Cmake target_link_libraries unable to find nlohmann_json since version 3.2.0 #1243
- [Question] Access to end() iterator reference #1242
- π Parsing different json format #1241
- π Parsing Multiple JSON Files #1240
- Doesn't compile under C++17 #1239
- Conversion operator for nlohmann::json is not SFINAE friendly #1237
- Custom deserialization of number_float_t #1236
- π Move tests to a separate repo #1235
- β deprecated-declarations warnings when compiling tests with GCC 8.2.1. #1233
- Incomplete type with json_fwd.hpp #1232
- π Parse Error #1229
- json::get function with argument #1227
- questions regarding from_json #1226
- Lambda in unevaluated context #1225
- β NLohmann doesn't compile when enabling strict warning policies #1224
- Creating array of objects #1223
- Somewhat unhelpful error message "cannot use operator[] with object" #1220
- single_include json.hpp #1218
- Maps with enum class keys which are convertible to JSON strings should be converted to JSON dictionaries #1217
- β Adding JSON Array to the Array #1216
- Best way to output a vector of a given type to json #1215
- compiler warning: double definition of macro JSON_INTERNAL_CATCH #1213
- π€‘ Compilation error when using MOCK_METHOD1 from GMock and nlohmann::json #1212
- π Issues parsing a previously encoded binary (non-UTF8) string. #1211
- π Yet another ordering question: char * and parse() #1209
- Error using gcc 8.1.0 on Ubuntu 14.04 #1207
- "type must be string, but is " std::string(j.type_name() #1206
- Returning empty json object from a function of type const json& ? #1205
- VS2017 compiler suggests using constexpr if #1204
- Template instatiation error on compiling #1203
- π BUG - json dump field with unicode -> array of ints (instead of string) #1197
- Compile error using Code::Blocks // mingw-w64 GCC 8.1.0 - "Incomplete Type" #1193
- SEGFAULT on arm target #1190
- Compiler crash with old Clang #1179
- Custom Precision on floating point numbers #1170
- Can we have a json_view class like std::string_view? #1158
- π improve error handling #1152
π We should remove static_asserts #960
π Fix warning C4127: conditional expression is constant #1272 (antonioborondo)
π Turn off additional deprecation warnings for GCC. #1271 (chuckatkins)
π docs: Add additional CMake documentation #1270 (chuckatkins)
β unit-testsuites.cpp: fix hangup if file not found #1262 (knilch0r)
π Fix broken cmake imported target alias #1260 (chuckatkins)
β Add version and license to meson.build #1252 (koponomarenko)
π #1179 Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crashβ¦ #1249 (LEgregius)
π Use a version check to provide backwards comatible CMake imported target names #1245 (chuckatkins)
π Fix issue #1237 #1238 (theodelrieu)
β Add a get overload taking a parameter. #1231 (theodelrieu)
π Move lambda out of unevaluated context #1230 (mandreyel)
β Remove static asserts #1228 (theodelrieu)
π Fix #1213 #1214 (simnalamburt)
π Export package to allow builds without installing #1202 (dennisfischer)
-
v3.2.0 Changes
August 20, 2018- Am I doing this wrong? Getting an empty string #1199
- Incompatible Pointer Type #1196
- π» json.exception.type_error.316 #1195
- β Strange warnings in Code::Blocks 17.12, GNU GCC #1192
- [Question] Current place in code to change floating point resolution #1191
- β Add key name when throwing type error #1189
- Not able to include in visual studio code? #1188
- Get an Index or row number of an element #1186
- β¬οΈ reduce repos size #1185
- β‘οΈ Difference between
merge\_patch
andupdate
#1183 - π» Is there a way to get an element from a JSON without throwing an exception on failure? #1182
- to_string? #1181
- How to cache a json object's pointer into a map? #1180
- Can this library work within a Qt project for Android using Qt Creator? #1178
- How to get all keys of one object? #1177
- π How can I only parse the first level and get the value as string? #1175
- I have a query regarding nlohmann::basic_json::basic_json #1174
- unordered_map with vectors won't convert to json? #1173
- return json objects from functions #1172
- Problem when exporting to CBOR #1171
- Roundtripping null to nullptr does not work #1169
- MSVC fails to compile std::swap specialization for nlohmann::json #1168
- Unexpected behaviour of is_null - Part II #1167
- Floating point imprecision #1166
- Combine json objects into one? #1165
- Is there any way to know if the object has changed? #1164
- Value throws on null string #1163
- Weird template issue in large project #1162
- π _json returns a different result vs ::parse #1161
- π Showing difference between two json objects #1160
- no instance of overloaded function "std::swap" matches the specified type #1159
- resize(...)? #1157
- Issue with struct nested in class' to_json #1155
- Deserialize std::map with std::nan #1154
- π Parse throwing errors #1149
- cocoapod integration #1148
- π wstring parsing #1147
- Is it possible to dump a two-dimensional array to "[[null],[1,2,3]]"? #1146
- Want to write a class member variable and a struct variable ( this structure is inside the class) to the json file #1145
- π Does json support converting an instance of a struct into json string? #1143
- #Most efficient way to search for child parameters (recursive find?) #1141
- could not find to_json() method in T's namespace #1140
- chars get treated as JSON numbers not JSON strings #1139
- How do I count number of objects in array? #1137
- Serializing a vector of classes? #1136
- Compile error. Unable convert form nullptr to nullptr&& #1135
- std::unordered_map in struct, serialization #1133
- dump() can't handle umlauts #1131
- β Add a way to get a key reference from the iterator #1127
- π can't not parse "\β string #1123
- π» if json file contain Internationalization chars , get exception #1122
- How to use a json::iterator dereferenced value in code? #1120
- clang compiler: error : unknown type name 'not' #1119
- Disable implicit conversions from json to std::initializer_list<T> for any T #1118
- Implicit conversions to complex types can lead to surprising and confusing errors #1116
- 0οΈβ£ How can I write from_json for a complex datatype that is not default constructible? #1115
- Compile error in VS2015 when compiling unit-conversions.cpp #1114
- ADL Serializer for std::any / boost::any #1113
- Unexpected behaviour of is_null #1112
- How to resolve " undefined reference to `std::__throw_bad_cast()'" #1111
- cannot compile on ubuntu 18.04 and 16.04 #1110
- JSON representation for floating point values has too many digits #1109
- Not working for classes containing "_declspec(dllimport)" in their declaration #1108
- Get keys from json object #1107
- dump() without alphabetical order #1106
- Cannot deserialize types using std::ratio #1105
- i want to learn json #1104
- Type checking during compile #1103
- Iterate through sub items #1102
- cppcheck failing for version 3.1.2 #1101
- Deserializing std::map #1100
- accessing key by reference #1098
- clang 3.8.0 croaks while trying to compile with debug symbols #1097
- Serialize a list of class objects with json #1096
- Small question #1094
- Upgrading to 3.x: to_/from_json with enum class #1093
- Q: few questions about json construction #1092
- general crayCC compilation failure #1091
- π Merge Patch clears original data #1090
- [Question] how to use nlohmann/json in c++? #1088
- π C++17 decomposition declaration support #1087
- [Question] Access multi-level json objects #1086
- Serializing vector #1085
- β‘οΈ update nested value in multi hierarchy json object #1084
- 0οΈβ£ Overriding default values? #1083
- detail namespace collision with Cereal? #1082
- Error using json.dump(); #1081
- Consuming TCP Stream #1080
- Compilation error with strong typed enums in map in combination with namespaces #1079
- cassert error #1076
- π Valid json data not being parsed #1075
- π Feature request :: Better testing for key existance without try/catch #1074
- Hi, I have input like a.b.c and want to convert it to \"a\"{\"b\": \"c\"} form. Any suggestions how do I do this? Thanks. #1073
- 0οΈβ£ ADL deserializer not picked up for non default-constructible type #1072
- Deserializing std::array doesn't compiler (no insert()) #1071
- Serializing OpenCV Mat problem #1070
- Compilation error with ICPC compiler #1068
- Minimal branch? #1066
- Not existing value, crash #1065
- cyryllic symbols #1064
- π newbie usage question #1063
- β Trying j["strTest"] = "%A" produces "strTest": "-0X1.CCCCCCCCCCCCCP+205" #1062
- convert json value to std::string??? #1061
- π Commented out test cases, should they be removed? #1060
- different behaviour between clang and gcc with braced initialization #1059
- json array: initialize with prescribed size and
resize
method. #1057 - Is it possible to use exceptions istead of assertions? #1056
- when using assign operator in with json object a static assertion fails.. #1055
- Iterate over leafs of a JSON data structure: enrich the JSON pointer API #1054
- [Feature request] Access by path #1053
- document that implicit js -> primitive conversion does not work for std::string::value_type and why #1052
- error: βBasicJsonTypeβ in namespace β::β does not name a type #1051
- Destructor is called when filling object through assignement #1050
- Is this thing thread safe for reads? #1049
- clang-tidy: Call to virtual function during construction #1046
- Using STL algorithms with JSON containers with expected results? #1045
- β Usage with gtest/gmock not working as expected #1044
- Consequences of from_json / to_json being in namespace of data struct. #1042
- const_reference operator[](const typename object_t::key_type& key) const throw instead of assert #1039
- Trying to retrieve data from nested objects #1038
- Direct download link for json_fwd.hpp? #1037
- π I know the library supports UTF-8, but failed to dump the value #1036
- Putting a Vec3-like vector into a json object #1035
- Ternary operator crash #1034
- Issued with Clion Inspection Resolution since 2018.1 #1033
- β Some testcases fail and one never finishes #1032
- Can this class work with wchar_t / std::wstring? #1031
- π Makefile: Valgrind flags have no effect #1030
- γ==γ Should be γ>γ #1029
- HOCON reader? #1027
- β add json string in previous string?? #1025
- π RFC: fluent parsing interface #1023
- π Does it support chinese character? #1022
- to/from_msgpack only works with standard typization #1021
- π Build failure using latest clang and GCC compilers #1020
- can two json objects be concatenated? #1019
- Erase by integer index #1018
- Function find overload taking a json_pointer #1017
- π I think should implement an parser function #1016
- Readme gif #1015
- Python bindings #1014
- how to add two json string in single object?? #1012
- how to serialize class Object (convert data in object into json)?? #1011
- Enable forward declaration of json by making json a class instead of a using declaration #997
- compilation error while using intel c++ compiler 2018 #994
- How to create a json variable? #990
- istream >> json --- 1st character skipped in stream #976
- β Add a SAX parser #971
- β Add Key name to Exception #932
- How to solve large json file? #927
- json_pointer public push_back, pop_back #837
- Using input_adapter in a slightly unexpected way #834
Stack-overflow (OSS-Fuzz 4234) #832
π Fix -Wno-sometimes-uninitialized by initializing "result" in parse_sax #1200 (thyu)
[RFC] Introduce a new macro function: JSON_INTERNAL_CATCH #1187 (simnalamburt)
π Fix unit tests that were silently skipped or crashed (depending on the compiler) #1176 (grembo)
π¨ Refactor/no virtual sax #1153 (theodelrieu)
π Fixed compiler error in VS 2015 for debug mode #1151 (sonulohani)
π Fix links to cppreference named requirements (formerly concepts) #1144 (jrakow)
π Feature/unordered map conversion #1138 (theodelrieu)
β test (non)equality for alt_string implementation #1130 (agrianius)
Provide a from_json overload for std::map #1089 (theodelrieu)
π fix typo in README #1078 (martin-mfg)
Misc cmake packaging enhancements #1048 (chuckatkins)
π Fixed incorrect LLVM version number in README #1047 (jammehcow)
Added public target_compile_features for auto and constexpr #1026 (ktonon)
-
v3.1.2 Changes
March 14, 2018- STL containers are always serialized to a nested array like [[1,2,3]] #1013
- The library doesn't want to insert an unordered_map #1010
- Convert Json to uint8_t #1008
- How to compare two JSON objects? #1007
- Syntax checking #1003
- more than one operator '=' matches these operands #1002
- How to check if key existed #1000
- π nlohmann::json::parse exhaust memory in go binding #999
- Range-based iteration over a non-array object #998
- 0οΈβ£ get<T> for types that are not default constructible #996
- Prevent Null values to appear in .dump() #995
- π number parsing #993
- C2664 (C++/CLR) cannot convert 'nullptr' to 'nullptr &&' #987
- Uniform initialization from another json object differs between gcc and clang. #985
- Problem with adding the lib as a submodule #983
- UTF-8/Unicode error #982
- "forcing MSVC stacktrace to show which T we're talking about." error #980
- reverse order of serialization #979
- Assigning between different json types #977
- Support serialisation of
unique\_ptr\<\>
andshared\_ptr\<\>
#975 - Unexpected end of input (not same as one before) #974
- Segfault on direct initializing json object #973
- Segmentation fault on G++ when trying to assign json string literal to custom json type. #972
- os_defines.h:44:19: error: missing binary operator before token "(" #970
- Passing an iteration object by reference to a function #967
Json and fmt::lib's format_arg() #964
π Allowing for user-defined string type in lexer/parser #1009 (nlohmann)
dump to alternative string type, as defined in basic_json template #1006 (agrianius)
π fixed misprinted condition detected by PVS Studio. #992 (bogemic)
π Fix/basic json conversion #986 (theodelrieu)
-
v3.1.1 Changes
February 13, 2018π Release date: 2018-02-13
SHA-256: e14ce5e33d6a2daf748026bd4947f3d9686ca4cfd53d10c3da46a0a9aceb7f2e (json.hpp), fde771d4b9e4f222965c00758a2bdd627d04fb7b59e09b7f3d1965abdc848505 (include.zip)Summary
π This release fixes several bugs in the library. All changes are backward-compatible.
π± π Bug Fixes
- Fixed parsing of CBOR strings with indefinite length (#961). Earlier versions of this library misinterpreted the CBOR standard and rejected input with the
0x7F
start byte. - Fixed user-defined conversion to vector type (#924, #969). A wrong SFINAE check rejected code though a user-defined conversion was provided.
- Fixed documentation of the parser behavior for objects with duplicate keys (#963). The exact behavior is not specified by RFC 8259 and the library now also provides no guarantee which object key is stored.
- π Added check to detect memory overflow when parsing UBJSON containers (#962). The optimized UBJSON format allowed for specifying an array with billions of
null
elements with a few bytes and the library did not check whether this size exceededmax_size()
.
π± π¨ Further Changes
- Code coverage is now calculated for the individual header files, allowing to find uncovered lines more quickly than by browsing through the single header version (#953, #957).
- π A Makefile target
run_benchmarks
was added to quickly build and run the benchmark suite. - π The documentation was harmonized with respect to the header inclusion (#955). Now all examples and the README use
#include <nlohmann/json.hpp>
to allow for selectingsingle_include
orinclude
or whatever installation folder as include directory. - β Added note on how to use the library with the cget package manager (#954).
π± π₯ 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.
- Fixed parsing of CBOR strings with indefinite length (#961). Earlier versions of this library misinterpreted the CBOR standard and rejected input with the
-
v3.1.0 Changes
February 01, 2018π Release date: 2018-02-01
SHA-256: d40f614d10a6e4e4e80dca9463da905285f20e93116c36d97d4dc1aa63d10ba4 (json.hpp), 2b7234fca394d1e27b7e017117ed80b7518fafbb4f4c13a7c069624f6f924673 (include.zip)Summary
This release adds support for the UBJSON format and JSON Merge Patch. It also contains some minor changes and bug fixes. All changes are backward-compatible.
π± β¨ New features
- The library now supports UBJSON (Universal Binary JSON Specification) as binary format to read and write JSON values space-efficiently. See the documentation overview for a comparison of the different formats CBOR, MessagePack, and UBJSON.
- π JSON Merge Patch (RFC 7386) offers an intuitive means to describe patches between JSON values (#876, #877). See the documentation of
merge_patch
for more information.
π± β‘οΈ Improvements
- The library now uses the Grisu2 algorithm for printing floating-point numbers (based on the reference implementation by Florian Loitsch) which produces a short representation which is guaranteed to round-trip (#360, #935, #936).
- The UTF-8 handling was further simplified by using the decoder of BjΓΆrn Hoehrmann in more scenarios.
π± π Reorganization
- Though the library is released as a single header, its development got more and more complicated. With this release, the header is split into several files and the single-header file
json.hpp
can be generated from these development sources. In the repository, folderinclude
contains the development sources andsingle_include
contains the singlejson.hpp
header (#700, #906, #907, #910, #911, #915, #920, #924, #925, #928, #944). - The split further allowed for a forward declaration header
include/nlohmann/json_fwd.hpp
to speed up compilation times (#314).
π± π¨ Further changes
- π Google Benchmark is now used for micro benchmarks (see
benchmarks
folder, #921). - β‘οΈ The serialization (JSON and binary formats) now properly work with the libraries string template parameter, allowing for optimized string implementations to be used in constraint environments such as embedded software (#941, #950).
- The exceptional behavior can now be overridden by defining macros
JSON_THROW_USER
,JSON_TRY_USER
, andJSON_CATCH_USER
, defining the behavior ofthrow
,try
andcatch
, respectively. This allows to switch off C++'s exception mechanism yet still execute user-defined code in case an error condition occurs (#938). - To facilitate the interplay with flex and Bison, the library does not use the variable name
yytext
any more as it could clash with macro definitions (#933). - The library now defines
NLOHMANN_JSON_VERSION_MAJOR
,NLOHMANN_JSON_VERSION_MINOR
, andNLOHMANN_JSON_VERSION_PATCH
to allow for conditional compilation based on the included library version (#943, #948). - π A compilation error with ICC has been fixed (#947).
- π Typos and links in the documentation have been fixed (#900, #930).
- π A compiler error related to incomplete types has been fixed (#919).
- β The tests form the UTF-8 decoder stress test have been added to the test suite.
π± π₯ Deprecated functions
- Function
iterator_wrapper
has been deprecated (#874). Since its introduction, the name was up for discussion, as it was too technical. We now introduced the member functionitems()
with the same semantics.iterator_wrapper
will be removed in the next major version (i.e., 4.0.0).
π Furthermore, the following functions are deprecated since version 3.0.0 and will be removed in the next major version (i.e., 4.0.0):
friend std::istream& operator<<(basic_json&, std::istream&)
friend std::ostream& operator>>(const basic_json&, std::ostream&)
Please use
friend std::istream& operator>>(std::istream&, basic_json&)
andfriend operator<<(std::ostream&, const basic_json&)
instead. -
v3.0.1 Changes
December 29, 2017- π Problem parsing array to global vector #896
- Invalid RFC6902 copy operation succeeds #894
- How to rename a key during looping? #893
- β clang++-6.0 (6.0.0-svn321357-1) warning #892
- π Make json.hpp aware of the modules TS? #891
- All enum values not handled in switch cases. ( -Wswitch-enum ) #889
- π» JSON Pointer resolve failure resulting in incorrect exception code #888
- Unexpected nested arrays from std::vector #886
- erase multiple elements from a json object #884
- β‘οΈ Container function overview in Doxygen is not updated #883
- How to use this for binary file uploads #881
- π Allow setting JSON_BuildTests=OFF from parent CMakeLists.txt #846
- β Unit test fails for local-independent str-to-num #845
π Another idea about type support #774
π Includes CTest module/adds BUILD_TESTING option #885 (TinyTinni)
π Merge branch 'develop' into coverity_scan #880 (nlohmann)
:wrench: Fix up a few more effc++ items #858 (mattismyname)
-
v3.0.0 Changes
December 17, 2017- unicode strings #878
- π Visual Studio 2017 15.5 C++17 std::allocator deprecations #872
- Typo "excpetion" #869
- Explicit array example in README.md incorrect #867
- π why don't you release this from Feb. ? #865
- π json::parse throws std::invalid_argument when processing string generated by json::dump() #863
- code analysis: potential bug? #859
- MSVC2017, 15.5 new issues. #857
- very basic: fetching string value/content without quotes #853
- Ambiguous function call to get with pointer type and constant json object in VS2015 (15.4.4) #852
- How to put object in the array as a member? #850
- misclick, please ignore #849
- π Make XML great again. #847
- Converting to array not working #843
- Iteration weirdness #842
- π Use reference or pointer as Object value #841
- π Ambiguity in parsing nested maps #840
- could not find from_json() method in T's namespace #839
- π Incorrect parse error with binary data in keys? #838
- using dump() when std::wstring is StringType with VS2017 #836
- π Show the path of the currently parsed value when an error occurs #835
- Repetitive data type while reading #833
- Storing multiple types inside map #831
- Application terminating #830
- π¦ Missing CMake hunter package? #828
- std::map<std::string, std::string> from json object yields C2665: 'std::pair<const _Kty,_Ty>::pair': none of the 2 overloads could convert all the argument types #827
- object.dump gives quoted string, want to use .dump() to generate javascripts. #826
- Assertion failed on ["NoExistKey"] of an not existing key of const json& #825
- π vs2015 error : static member will remain uninitialized at runtime but use in constant-expressions is supported #824
- β Code Checking Warnings from json.hpp on VS2017 Community #821
- Missing iostream in try online #820
- Floating point value loses decimal point during dump #818
- π¦ Conan package for the library #817
- stream error #815
- π Link error when using find() on the latest commit #814
- ABI issue with json object between 2 shared libraries #813
- scan_string() return token_type::parse_error; when parse ansi file #812
- segfault when using fifo_map with json #810
- This shit is shit #809
- _finite and _isnan are no members of "std" #808
- π¨ how to print out the line which causing exception? #806
- {} uses copy constructor, while = does not #805
- json.hpp:8955: multiple definition of function that is not defined twice or more. #804
- [question] to_json for base and derived class #803
- Misleading error message - unexpected '"' - on incorrect utf-8 symbol #802
- json data = std::string_view("hi"); doesn't work? #801
- π Thread safety of parse() #800
- Numbers as strings #799
- β Tests failing on arm #797
- Using your library (without modification) in another library #796
- Iterating over sub-object #794
- π¨ how to get the json object again from which printed by the method of dump() #792
- ppa to include source #791
- π Different include paths in macOS and Ubuntu #790
- Missing break after line 12886 in switch/case #789
- β All unit tests fail? #787
- π More use of move semantics in deserialization #786
- β warning C4706 - Visual Studio 2017 (/W4) #784
- Compile error in clang 5.0 #782
- π Error Installing appium_lib with Ruby v2.4.2 Due to JSON #781
- π ::get<int>() fails in new(er) release [MSVC] #780
- Type Conversion #779
- π Segfault on nested parsing #778
- π Build warnings: shadowing exception id #776
- π multi-level JSON support. #775
- SIGABRT on dump() #773
- [Question] Custom StringType template parameter (possibility for a KeyType template parameter) #772
- constexpr ALL the Things! #771
- error: βBasicJsonTypeβ in namespace β::β does not name a type #770
- Program calls abort function #769
- [Question] Floating point resolution config during dump() ? #768
- β make check - no test ran #767
- The library cannot work properly with custom allocator based containers #766
- π Documentation or feature request. #763
- π warnings in msvc about mix/max macro while windows.h is used in the project #762
- std::signbit ambiguous #761
- How to use value for std::experimental::optional type? #760
- Cannot load json file properly #759
- Compilation error with unordered_map< int, int > #758
- CBOR string #757
- Proposal: out_of_range should be a subclass of std::out_of_range #756
- Compiling with icpc #755
- Getter is setting the value to null if the key does not exist #754
- π parsing works sometimes and crashes others #752
- Static_assert failed "incompatible pointer type" with Xcode #751
- π user-defined literal operator not found #750
- getting clean string from it.key() #748
- Best method for exploring and obtaining values of nested json objects when the names are not known beforehand? #747
- null char at the end of string #746
- π Incorrect sample for operator >> in docs #745
- π User-friendly documentation #744
- Retrieve all values that match a json path #743
- Compilation issue with gcc 7.2 #742
- CMake target nlohmann_json does not have src into its interface includes #741
- Error when serializing empty json: type must be string, but is object #740
- Conversion error for std::map<int, std::string> #739
- Dumping Json to file as array #738
- nesting json objects #737
- where to find general help? #736
- β¬οΈ Compilation Error on Clang 5.0 Upgrade #735
- Compilation error with std::map<std::string, std::string> on vs 2015 #734
- Benchmarks for Binary formats #733
- π Move test blobs to a submodule? #732
- π Support \n symbols in json string. #731
- Project's name is too generic and hard to search for #730
- Visual Studio 2015 IntelliTrace problems #729
- How to erase nested objects inside other objects? #728
- How to prevent alphabetical sorting of data? #727
- Serialization for CBOR #726
- Using json Object as value in a map #725
- std::regex and nlohmann::json value #724
- β Warnings when compiling with VisualStudio 2015 #723
- π Has this lib the unicode (wstring) support? #722
- When will be 3.0 in master? #721
- Determine the type from error message. #720
- Compile-Error C2100 (MS VS2015) in line 887 json.hpp #719
- from_json not working for boost::optional example #718
- about from_json and to_json function #717
- How to deserialize array with derived objects #716
- π How to detect parse failure? #715
- π Parse throw std::ios_base::failure exception when failbit set to true #714
- π¨ Is there a way of format just making a pretty print without changing the key's orders ? #713
- Serialization of array of not same model items #712
- π pointer to json parse vector #711
- β Gtest SEH Exception #709
- broken from_json implementation for pair and tuple #707
- π Unevaluated lambda in assert breaks gcc 7 build #705
- Issues when adding values to firebase database #704
- Floating point equality - revisited #703
- π Conversion from valarray<double> to json fails to build #702
- internal compiler error (gcc7) #701
- π· One build system to rule them all #698
- Generated nlohmann_jsonConfig.cmake does not set JSON_INCLUDE_DIR #695
- π support the Chinese language in json string #694
- NaN problem within develop branch #693
- Please post example of specialization for boost::filesystem #692
- Impossible to do an array of composite objects #691
- How to save json to file? #690
- π my simple json parser #689
- π problem with new struct parsing syntax #688
- π Parse error while parse the json string contains UTF 8 encoded document bytes string #684
- [question] how to get a string value by pointer #683
- create json object from string variable #681
- adl_serializer and CRTP #680
- Is there a way to control the precision of serialized floating point numbers? #677
- Is there a way to get the path of a value? #676
- π Could the parser locate errors to line? #675
- π There is performance inefficiency found by coverity tool json2.1.1/include/nlohmann/json.hpp #673
- include problem, when cmake on osx #672
- Operator= ambiguous in C++1z and GCC 7.1.1 #670
- should't the cmake install target be to nlohman/json.hpp #668
- deserialise from
std::vector
#667 - How to iterate? #665
- π could this json lib work on windows? #664
- How does from_json work? #662
- π insert(or merge) object should replace same key , not ignore #661
- Why is an object ordering values by Alphabetical Order? #660
- π Parse method doesn't handle newlines. #659
- Compilation "note" on GCC 6 ARM #658
- β Adding additional push_back/operator+= rvalue overloads for JSON object #657
- dump's parameter "ensure_ascii" creates too long sequences #656
- π Question: parsing
void \*
#655 - how should I check a string is valid JSON string ? #653
- Question: thread safety of read only accesses #651
- Eclipse: Method 'size' could not be resolved #649
- β‘οΈ Update/Add object fields #648
- π» No exception raised for Out Of Range input of numbers #647
- π¦ Package Name #646
- What is the meaning of operator[](T* key) #645
- Which is the correct way to json objects as parameters to functions? #644
- Method to get string representations of values #642
- CBOR serialization of a given JSON value does not serialize #641
- Are we forced to use "-fexceptions" flag in android ndk project #640
- Comparison of objects containing floats #639
- π 'localeconv' is not supported by NDK for SDK <=20 #638
- [Question] cLion integration #637
- How to construct an iteratable usage in nlohmann json? #636
- [Question] copy assign json-container to vector #635
- Get size without .dump() #634
- π Segmentation fault when parsing invalid json file #633
- How to serialize from json to vector<customType>? #632
- no member named 'thousands_sep' in 'lconv' #631
- π [Question] Any fork for (the unsupported) Visual Studio 2012 version? #628
- Dependency injection in serializer #627
- from_json for std::array #625
- π Discussion: How to structure the parsing function families #623
- Question: How to erase subtree #622
- Insertion into nested json field #621
- β [Question] When using this as git submodule, will it clone the whole thing include test data and benchmark? #620
- Question: return static json object from function #618
- icc16 error #617
- β
[-Wdeprecated-declarations] in row
j \>\> ss;
in filejson.hpp:7405:26
and FAILED unit tests with MinGWx64! #616 - to_json for pairs, tuples #614
- Using uninitialized memory 'buf' in line 11173 v2.1.1? #613
- π How to parse multiple same Keys of JSON and save them? #612
- "Multiple declarations" error when using types defined with
typedef
#611 - 2.1.1+ breaks compilation of shared_ptr<json> == 0 #610
- a bug of inheritance ? #608
- std::map key conversion with to_json #607
- json.hpp:6384:62: error: wrong number of template arguments (1, should be 2) #606
- π Incremental parsing: Where's the push version? #605
- Is there a way to validate the structure of a json object ? #604
- [Question] Issue when using Appveyor when compiling library #603
- π BOM not skipped when using json:parse(iterator) #602
- π Use of the binary type in CBOR and Message Pack #601
- π Newbie issue: how does one convert a map in Json back to std::map? #600
- π Plugin system #599
- π Feature request: Comments #597
- Using custom types for scalars? #596
- Issues with the arithmetic in iterator and reverse iterator #593
- not enough examples #592
- in-class initialization for type 'const T' is not yet implemented #591
- compiling with gcc 7 -> error on bool operator < #590
- π Parsing from stream leads to an array #589
- π Buggy support for binary string data #587
- C++17's ambiguous conversion #586
- π How does the messagepack encoding/decoding compare to msgpack-cpp in terms of performance? #585
- is it possible to check existence of a value deep in hierarchy? #584
- loading from a stream and exceptions #582
- π Visual Studio seems not to have all min() function versions #581
- π Supporting of the json schema #580
- Stack-overflow (OSS-Fuzz 1444) #577
- Heap-buffer-overflow (OSS-Fuzz 1400) #575
- JSON escape quotes #574
- error: static_assert failed #573
- Storing floats, and round trip serialisation/deserialisation diffs #572
- JSON.getLong produces inconsistent results #571
- 0οΈβ£ Request: Object.at() with default return value #570
- π Internal structure gets corrupted while parsing #569
- create template <typename Iter> basic_json from_cbor(Iter begin, Iter end) #568
- Need to improve ignores.. #567
- Conan.io #566
- π contradictory documentation regarding json::find #565
- Unexpected '\"' in middle of array #564
- π Support parse std::pair to Json object #563
- json and Microsoft Visual c++ Compiler Nov 2012 CTP #562
- from_json declaration order and exceptions #561
- β¬οΈ Tip: Don't upgrade to VS2017 if using json initializer list constructs #559
- π parse error - unexpected end of input #558
- Cant modify existing numbers inside a json object #557
- Minimal repository (current size very large) #556
- π Better support for SAX style serialize and deserialize in new version? #554
- Cannot convert from json array to std::array #553
- Do not define an unnamed namespace in a header file (DCL59-CPP) #552
- π Parse error on known good json file #551
- β Warning on Intel compiler (icc 17) #550
- π¨ multiple versions of 'vsnprintf' #549
- illegal indirection #548
- Ambiguous compare operators with clang-5.0 #547
- Using tsl::ordered_map #546
- π Compiler support errors are inconvenient #544
- Head Elements Sorting #543
- Duplicate symbols error happens while to_json/from_json method implemented inside entity definition header file #542
- consider adding a bool json::is_valid(std::string const&) non-member function #541
- Help request #539
- How to deal with missing keys in
from\_json
? #538 - recursive from_msgpack implementation will stack overflow #537
- π» Exception objects must be nothrow copy constructible (ERR60-CPP) #531
- π Support for multiple root elements #529
- Port has_shape from dropbox/json11 #528
- dump_float: truncation from ptrdiff_t to long #527
- π» Make exception base class visible in basic_json #525
- β msgpack unit test failures on ppc64 arch #524
- How about split the implementation out, and only leave the interface? #523
- VC++2017 not enough actual parameters for macro 'max' #522
- crash on empty ifstream #521
- π Suggestion: Support tabs for indentation when serializing to stream. #520
- Abrt in get_number (OSS-Fuzz 885) #519
- Abrt on unknown address (OSS-Fuzz 884) #518
- Stack-overflow (OSS-Fuzz 869) #517
- Assertion error (OSS-Fuzz 868) #516
- NaN to json and back #515
- Comparison of NaN #514
- why it's not possible to serialize c++11 enums directly #513
- clang compile error: use of overloaded operator '<=' is ambiguous with (nlohmann::json{{"a", 5}})["a"] <= 10 #512
- Why not also look inside the type for (static) to_json and from_json funtions? #511
- π Parser issues #509
- I may not understand #507
- VS2017 min / max problem for 2.1.1 #506
- CBOR/MessagePack is not read until the end #505
- Assertion error (OSS-Fuzz 856) #504
- π Return position in parse error exceptions #503
- π conversion from/to C array is not supported #502
- error C2338: could not find to_json() method in T's namespace #501
- β Test suite fails in en_GB.UTF-8 #500
- cannot use operator[] with number #499
- consider using __cpp_exceptions and/or __EXCEPTIONS to disable/enable exception support #498
- Stack-overflow (OSS-Fuzz issue 814) #497
- Using in Unreal Engine - handling custom types conversion #495
- π Conversion from vector<bool> to json fails to build #494
- fill_line_buffer incorrectly tests m_stream for eof but not fail or bad bits #493
- Compiling with _GLIBCXX_DEBUG yields iterator-comparison warnings during tests #492
- crapy interface #491
- π Fix Visual Studo 2013 builds. #490
- Failed to compile with -D_GLIBCXX_PARALLEL #489
- Input several field with the same name #488
- read in .json file yields strange sizes #487
- json::value_t can't be a map's key type in VC++ 2015 #486
- Using fifo_map #485
- Cannot get float pointer for value stored as
0
#484 - π byte string support #483
- π― For a header-only library you have to clone 214MB #482
- β https://github.com/nlohmann/json\#execute-unit-tests #481
- β Remove deprecated constructor basic_json(std::istream&) #480
- writing the binary json file? #479
- CBOR/MessagePack from uint8_t * and size #478
- Streaming binary representations #477
- Reuse memory in to_cbor and to_msgpack functions #476
- Error Using JSON Library with arrays C++ #475
- Moving forward to version 3.0.0 #474
- Inconsistent behavior in conversion to array type #473
- π Create a [key:member_pointer] map to ease parsing custom types #471
- β‘οΈ MSVC 2015 update 2 #469
- VS2017 implicit to std::string conversion fix. #464
- How to make sure a string or string literal is a valid JSON? #458
- basic_json templated on a "policy" class #456
- 0οΈβ£ json::value(const json_pointer&, ValueType) requires exceptions to return the default value. #440
- π is it possible merge two json object #428
- Is it possible to turn this into a shared library? #420
- π Further thoughts on performance improvements #418
- nan number stored as null #388
- Behavior of operator>> should more closely resemble that of built-in overloads. #367
- Request: range-based-for over a json-object to expose .first/.second #350
- π feature wish: JSONPath #343
- UTF-8/Unicode escape and dump #330
- π Serialized value not always can be parsed. #329
- Is there a way to forward declare nlohmann::json? #314
- π» Exception line #301
- 0οΈβ£ Do not throw exception when default_value's type does not match the actual type #278
- dump() method doesn't work with a custom allocator #268
- π Readme documentation enhancements #248
- π Use user-defined exceptions #244
π Incorrect C++11 allocator model support #161
:white_check_mark: re-added tests for algorithms #879 (nlohmann)
π Overworked library toward 3.0.0 release #875 (nlohmann)
π :rotating_light: remove C4996 warnings #872 #873 (nlohmann)
π» :boom: throwing an exception in case dump encounters a non-UTF-8 string #838 #870 (nlohmann)
cmake: use BUILD_INTERFACE/INSTALL_INTERFACE #855 (theodelrieu)
to/from_json: add a MSVC-specific static_assert to force a stacktrace #854 (theodelrieu)
β add forwarding references to json_ref constructor #807 (theodelrieu)
β Add transparent comparator and perfect forwarding support to find() and count() #795 (jseward)
π§ Error : 'identifier "size_t" is undefined' in linux #793 (sonulohani)
π fix from_json implementation for pair/tuple #708 (theodelrieu)
To fix compilation issue for intel OSX compiler #682 (kbthomp1)
β Add documentation for integration with CMake and hunter #671 (dan-42)
π¨ REFACTOR: rewrite CMakeLists.txt for better inlcude and reuse #669 (dan-42)
β enable_testing only if the JSON_BuildTests is ON #666 (effolkronium)
π Support moving from rvalues in std::initializer_list #663 (himikof)
β add ensure_ascii parameter to dump. #330 #654 (ryanjmulder)
Don't include <iostream>, use std::make_shared #650 (olegendo)
Refacto/split basic json #643 (theodelrieu)
β add pair/tuple conversions #624 (theodelrieu)
β remove std::pair support #615 (theodelrieu)
β Add pair support, fix CompatibleObject conversions (fixes #600) #609 (theodelrieu)
#550 Fix iterator related compiling issues for Intel icc #598 (HenryRLee)
Issue #593 Fix the arithmetic operators in the iterator and reverse iterator #595 (HenryRLee)
π fix doxygen error of basic_json::get() #583 (zhaohuaxishi)
π Fixing assignement for iterator wrapper second, and adding unit test #579 (Type1J)
Adding first and second properties to iteration_proxy_internal #578 (Type1J)
β add enum class default conversions #545 (theodelrieu)
β Add Visual Studio 17 image to appveyor build matrix #536 (vpetrigo)
π» Make exception base class visible in basic_json #526 (krzysztofwos)
:art: Namespace
uint8\_t
from the C++ stdlib #510 (alex-weej)β add to_json method for C arrays #508 (theodelrieu)
-
v2.1.1 Changes
February 25, 2017- β warning in the library #472
- How to create an array of Objects? #470
- [Bug?] Cannot get int pointer, but int64_t works #468
- Illegal indirection #467
- in vs can't find linkageId #466
- π Roundtrip error while parsing "1000000000000000010E5" #465
- β C4996 error and warning with Visual Studio #463
- Support startIndex for from_cbor/from_msgpack #462
- question: monospace font used in feature slideshow? #460
- Object.keys() #459
- π Use β, β as delimiter for json-objects. #457
- Enum -> string during serialization and vice versa #455
- π¨ doubles are printed as integers #454
- β‘οΈ Warnings with Visual Studio c++ (VS2015 Update 3) #453
- Heap-buffer-overflow (OSS-Fuzz issue 585) #452
- π use of undeclared identifier 'UINT8_MAX' #451
- Question on the lifetime managment of objects at the lower levels #449
- Json should not be constructible with 'json*' #448
- π Move value_t to namespace scope #447
- Typo in README.md #446
- π make check compilation is unneccesarily slow #445
- Problem in dump() in json.h caused by ss.imbue #444
- π I want to create Windows Application in Visual Studio 2015 c++, and i have a problem #443
- Implicit conversion issues #442
π Parsing of floats locale dependent #302
TurpentineDistillery feature/locale independent str to num #450 (nlohmann)
README: adjust boost::optional example #439 (jaredgrubb)
π fix #414 - comparing to 0 literal #415 (stanmihai4)
locale-independent num-to-str #378 (TurpentineDistillery)
-
v2.1.0 Changes
January 28, 2017- π Parsing multiple JSON objects from a string or stream #438
- π Use-of-uninitialized-value (OSS-Fuzz issue 477) #437
- β add
reserve
function for array to reserve memory before adding json values into it #436 - Typo in examples page #434
- avoid malformed json #433
- How to add json objects to a map? #432
- create json instance from raw json (unsigned char*) #431
- Getting std::invalid_argument: stream error when following example #429
- Forward declare-only header? #427
- Implicit conversion from array to object #425
- Automatic ordered JSON #424
- error C4996: 'strerror' when reading file #422
- Get an error - JSON pointer must be empty or begin with '/' #421
- π size parameter for parse() #419
- json.hpp forcibly defines GCC_VERSION #417
- π Use-of-uninitialized-value (OSS-Fuzz issue 377) #416
- comparing to 0 literal #414
- Single char converted to ASCII code instead of string #413
- π How to know if a string was parsed as utf-8? #406
- Overloaded += to add objects to an array makes no sense? #404
- Finding a value in an array #399
- β add release information in static function #397
- β‘οΈ Optimize memory usage of json objects in combination with binary serialization #373
- Conversion operators not considered #369
- Append ".0" to serialized floating_point values that are digits-only. #362
- β Add a customization point for user-defined types #328
- Conformance report for reference #307
- Document the best way to serialize/deserialize user defined types to json #298
- β Add StringView template typename to basic_json #297
- π [Improvement] Add option to remove exceptions #296
π Performance in miloyip/nativejson-benchmark #202
locale-independent num-to-str #378 (TurpentineDistillery)
-
v2.0.10 Changes
January 02, 2017- Heap-buffer-overflow (OSS-Fuzz issue 367) #412
- Heap-buffer-overflow (OSS-Fuzz issue 366) #411
- π Use-of-uninitialized-value (OSS-Fuzz issue 347) #409
- Heap-buffer-overflow (OSS-Fuzz issue 344) #408
- Heap-buffer-overflow (OSS-Fuzz issue 343) #407
- Heap-buffer-overflow (OSS-Fuzz issue 342) #405
- strerror throwing error in compiler VS2015 #403
- π json::parse of std::string being underlined by Visual Studio #402
- Explicitly getting string without .dump() #401
- π Possible to speed up json::parse? #398
- the alphabetic order in the code influence console_output. #396
- β Execute tests with clang sanitizers #394
Check if library can be used with ETL #361