json v3.0.0 Release Notes

Release Date: 2017-12-17 // over 6 years ago
  • Full Changelog

    • 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 file json.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)

    • πŸ“š :memo: fixing documentation #867 #868 (nlohmann)

    • iter_impl template conformance with C++17 #860 (bogemic)

    • Std allocator conformance cpp17 #856 (bogemic)

    • cmake: use BUILD_INTERFACE/INSTALL_INTERFACE #855 (theodelrieu)

    • to/from_json: add a MSVC-specific static_assert to force a stacktrace #854 (theodelrieu)

    • βž• Add .natvis for MSVC debug view #844 (TinyTinni)

    • ⚑️ Updated hunter package links #829 (jowr)

    • ✏️ Typos README #811 (Itja)

    • βž• 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 Visual Studio 2017 warnings #788 (jseward)

    • πŸ›  Fix warning C4706 on Visual Studio 2017 #785 (jseward)

    • Set GENERATE_TAGFILE in Doxyfile #783 (eld00d)

    • using more CMake #765 (nlohmann)

    • Simplified istream handing #367 #764 (pjkundert)

    • βž• Add info for the vcpkg package. #753 (gregmarr)

    • πŸ›  fix from_json implementation for pair/tuple #708 (theodelrieu)

    • ⚑️ Update json.hpp #686 (GoWebProd)

    • βœ‚ Remove duplicate word #685 (daixtrose)

    • To fix compilation issue for intel OSX compiler #682 (kbthomp1)

    • ⚠ Digraph warning #679 (traits)

    • massage -> message #678 (DmitryKuk)

    • πŸ›  Fix "not constraint" grammar in docs #674 (wincent)

    • βž• 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)

    • πŸ— Rename BuildTests to JSON_BuildTests #652 (olegendo)

    • Don't include <iostream>, use std::make_shared #650 (olegendo)

    • Refacto/split basic json #643 (theodelrieu)

    • fix typo in operator__notequal example #630 (Chocobo1)

    • πŸ›  Fix MSVC warning C4819 #629 (Chocobo1)

    • πŸ›  [BugFix] Add parentheses around std::min #626 (koemeet)

    • βž• 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)

    • βž• Adding support for Meson. #576 (Type1J)

    • βž• add enum class default conversions #545 (theodelrieu)

    • Properly pop diagnostics #540 (tinloaf)

    • βž• Add Visual Studio 17 image to appveyor build matrix #536 (vpetrigo)

    • UTF8 encoding enhancement #534 (TedLyngmo)

    • πŸ›  Fix typo #530 (berkus)

    • πŸ‘» 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)

    • πŸ›  Fix -Weffc++ warnings (GNU 6.3.1) #496 (TedLyngmo)