• Home
  • Raw
  • Download

Lines Matching +full:oss +full:- +full:fuzz +full:- +full:project +full:- +full:name

3 [![Build Status](https://travis-ci.org/nlohmann/json.svg?branch=master)](https://travis-ci.org/nloh…
4 …ts/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
10 …tps://scan.coverity.com/projects/5550/badge.svg)](https://scan.coverity.com/projects/nlohmann-json)
11 [![Codacy Badge](https://api.codacy.com/project/badge/Grade/f3732b3327e34358a0e9d1fe9f661f08)](http…
13 …g Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/json.svg)](https://bugs.chromi…
14 [![Try online](https://img.shields.io/badge/try-online-blue.svg)](https://wandbox.org/permlink/3lCH…
15 [![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](https://nlohmann.github.io/j…
16 [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubuserconten…
21 …ined.com/badge/resolution/nlohmann/json.svg)](https://isitmaintained.com/project/nlohmann/json "Av…
23 [![GitHub Sponsors](https://img.shields.io/badge/GitHub-Sponsors-ff69b4)](https://github.com/sponso…
25 - [Design goals](#design-goals)
26 - [Sponsors](#sponsors)
27 - [Integration](#integration)
28 - [CMake](#cmake)
29 - [Package Managers](#package-managers)
30 - [Pkg-config](#pkg-config)
31 - [Examples](#examples)
32 - [JSON as first-class data type](#json-as-first-class-data-type)
33 - [Serialization / Deserialization](#serialization--deserialization)
34 - [STL-like access](#stl-like-access)
35 - [Conversion from STL containers](#conversion-from-stl-containers)
36 - [JSON Pointer and JSON Patch](#json-pointer-and-json-patch)
37 - [JSON Merge Patch](#json-merge-patch)
38 - [Implicit conversions](#implicit-conversions)
39 - [Conversions to/from arbitrary types](#arbitrary-types-conversions)
40 - [Specializing enum conversion](#specializing-enum-conversion)
41- [Binary formats (BSON, CBOR, MessagePack, and UBJSON)](#binary-formats-bson-cbor-messagepack-and
42 - [Supported compilers](#supported-compilers)
43 - [License](#license)
44 - [Contact](#contact)
45 - [Thanks](#thanks)
46 - [Used third-party tools](#used-third-party-tools)
47 - [Projects using JSON for Modern C++](#projects-using-json-for-modern-c)
48 - [Notes](#notes)
49 - [Execute unit tests](#execute-unit-tests)
55 - **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We us…
57 - **Trivial integration**. Our whole code consists of a single header file [`json.hpp`](https://git…
59 - **Serious testing**. Our class is heavily [unit-tested](https://github.com/nlohmann/json/tree/dev…
63 - **Memory efficiency**. Each JSON object has an overhead of one pointer (the maximal size of a uni…
65 - **Speed**. There are certainly [faster JSON libraries](https://github.com/miloyip/nativejson-benc…
67 …(https://github.com/nlohmann/json/blob/master/.github/CONTRIBUTING.md#please-dont) for more inform…
76 - [Michael Hartmann](https://github.com/reFX-Mike)
77 - [Stefan Hagen](https://github.com/sthagen)
78 - [Steve Sperandeo](https://github.com/homer6)
94 to the files you want to process JSON and set the necessary switches to enable C++11 (e.g., `-std=c…
96 …fwd.hpp) for forward-declarations. The installation of json_fwd.hpp (as part of cmake's install st…
104 To use this library from a CMake project, you can locate it directly with `find_package()` and use …
119 To embed the library directly into an existing CMake project, place the entire source tree in a sub…
123 # run from your own project's code.
127 # need to install it when your main project gets installed.
171 To allow your project to support either an externally supplied or an embedded JSON library, you can…
175 project(FOO)
203 … install nlohmann-json` and you're set. If you want the bleeding edge rather than the latest relea…
205-a-subproject). You may also use the `include.zip` published in this project's [Releases](https://…
207-wide in which case a pkg-config file is installed. To use it, simply have your build system requi…
209 … you want to use. Please file issues [here](https://github.com/conan-io/conan-center-index/issues)…
211 …se the [`nlohmann-json` package](https://spack.readthedocs.io/en/latest/package_list.html#nlohmann
213-pm/hunter) on your project for external dependencies, then you can use the [nlohmann_json package…
215-pm/nlohmann-json`. Please file issues [here](https://github.com/buckaroo-pm/nlohmann-json). There…
217project for external dependencies, then you can use the [nlohmann-json package](https://github.com…
219 …r version can be installed by adding the `-DJSON_MultipleHeaders=ON` flag (i.e., `cget install nlo…
221 …cket.org/benman/nlohmann_json-cocoapod/src/master/)). Please file issues [here](https://bitbucket.…
223 …issues/1132#issuecomment-452250255) on how to use the package. Please files issues [here](https://…
225-forge/nlohmann_json-feedstock) from [conda-forge](https://conda-forge.org) executing `conda insta…
227-w64-nlohmann-json](https://packages.msys2.org/base/mingw-w64-nlohmann-json) package, just type `p…
229-json`](https://cppget.org/nlohmann-json) package from the public repository https://cppget.org or…
230 Please file issues [here](https://github.com/build2-packaging/nlohmann-json) if you experience prob…
234 ### Pkg-config
236 If you are using bare Makefiles, you can use `pkg-config` to generate the include flags that point …
239 pkg-config nlohmann_json --cflags
242 …n build system will also be able to use a system wide library, which will be found by `pkg-config`:
252 ### JSON as first-class data type
262 "name": "Niels",
288 j["name"] = "Niels";
306 {"name", "Niels"},
399 Note the library only supports UTF-8. When you store strings with different encodings in the librar…
434 … integral type of 1, 2 or 4 bytes, which will be interpreted as UTF-8, UTF-16 and UTF-32 respectiv…
497 The library uses a SAX-like interface with the following functions:
510 // called when a floating-point number is parsed; value and original string is passed
518 // called when an object or array begins or ends, resp. The number of elements is passed (or -1 if …
538 … `json` value - it is up to you to decide what to do with the SAX events. Furthermore, no exceptio…
540 ### STL-like access
559 // range-based for
671 Likewise, any associative key-value containers (`std::map`, `std::multimap`, `std::unordered_map`, …
693 …f.org/html/rfc6902)) allows to describe differences between two JSON values - effectively allowing…
816 std::string name;
826 j["name"] = p.name;
834 j["name"].get<std::string>(),
846 // conversion: person -> json
850 // {"address":"744 Evergreen Terrace","age":60,"name":"Ned Flanders"}
852 // conversion: json -> person
868 j = json{{"name", p.name}, {"address", p.address}, {"age", p.age}};
872 j.at("name").get_to(p.name);
896 - `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(name, member1, member2, ...)` is to be defined inside of the …
897 - `NLOHMANN_DEFINE_TYPE_INTRUSIVE(name, member1, member2, ...)` is to be defined inside of the clas…
899 In both macros, the first parameter is the name of the class/struct, and all remaining parameters n…
907 NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(person, name, address, age)
927 #### How do I convert third-party types?
932 The default serializer for `nlohmann::json` is `nlohmann::adl_serializer` (ADL means [Argument-Depe…
979 #### How can I use `get()` for non-default constructible/non-copyable types?
1014 …. You might want to take a look at [`unit-udt.cpp`](https://github.com/nlohmann/json/blob/develop/…
1018 - use a different `basic_json` alias than `nlohmann::json` (the last template parameter of `basic_j…
1019 - use your `basic_json` alias (or a template parameter) in all your `to_json`/`from_json` methods
1020 - use `nlohmann::to_json` and `nlohmann::from_json` when you need ADL
1026 // if you don't need compile-time checks on T
1070 …esired behavior. If an enum is modified or re-ordered after data has been serialized to JSON, the …
1080 TS_INVALID=-1,
1110 Just as in [Arbitrary Type Conversions](#arbitrary-types-conversions) above,
1111 - `NLOHMANN_JSON_SERIALIZE_ENUM()` MUST be declared in your enum type's namespace (which can be the…
1112 - It MUST be available (e.g., proper headers must be included) everywhere you use the conversions.
1115 - When using `get<ENUM_TYPE>()`, undefined JSON values will default to the first pair specified in …
1116 - If an enum or JSON value is specified more than once in your map, the first matching occurrence f…
1194 - GCC 4.8 - 10.1 (and possibly later)
1195 - Clang 3.4 - 10.0 (and possibly later)
1196 - Apple Clang 9.1 - 12.0 (and possibly later)
1197 - Intel C++ Compiler 17.0.2 (and possibly later)
1198 - Microsoft Visual C++ 2015 / Build Tools 14.0.25123.0 (and possibly later)
1199 - Microsoft Visual C++ 2017 / Build Tools 15.5.180.51428 (and possibly later)
1200 - Microsoft Visual C++ 2019 / Build Tools 16.3.1+1def00d3d (and possibly later)
1206 - GCC 4.8 has a bug [57824](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57824)): multiline raw str…
1207 - Android defaults to using very old compilers and C++ libraries. To fix this, add the following to…
1212 APP_CPPFLAGS += -frtti -fexceptions
1215 …ndroid NDK](https://developer.android.com/ndk/index.html?hl=ml), Revision 9 - 11 (and possibly lat…
1217 - For GCC running on MinGW or Android SDK, the error `'to_string' is not a member of 'std'` (or sim…
1219 - Unsupported versions of GCC and Clang are rejected by `#error` directives. This can be switched o…
1221 …uous integration at [Travis](https://travis-ci.org/nlohmann/json), [AppVeyor](https://ci.appveyor.…
1224 |-----------------------------------------------------------------|--------------------|-----------…
1225 | Apple Clang 9.1.0 (clang-902.0.39.1); Xcode 9.3 | macOS 10.13.3 | Travis …
1226 | Apple Clang 9.1.0 (clang-902.0.39.2); Xcode 9.4.1 | macOS 10.13.6 | Travis …
1227 | Apple Clang 10.0.0 (clang-1000.11.45.2); Xcode 10.0 | macOS 10.13.6 | Travis …
1228 | Apple Clang 10.0.0 (clang-1000.11.45.5); Xcode 10.1 | macOS 10.13.6 | Travis …
1229 | Apple Clang 10.0.1 (clang-1001.0.46.4); Xcode 10.2.1 | macOS 10.14.4 | Travis …
1230 | Apple Clang 11.0.0 (clang-1100.0.33.12); Xcode 11.2.1 | macOS 10.14.6 | Travis …
1231 | Apple Clang 11.0.3 (clang-1103.0.32.59); Xcode 11.4.1 | macOS 10.15.4 | GitHub Act…
1232 | Apple Clang 12.0.0 (clang-1200.0.22.7); Xcode 11.4.1 | macOS 10.15.5 | Travis …
1233 | Clang 3.5.0 (3.5.0-4ubuntu2~trusty2) | Ubuntu 14.04.5 LTS | Travis …
1234 | Clang 3.6.2 (3.6.2-svn240577-1~exp1) | Ubuntu 14.04.5 LTS | Travis …
1235 | Clang 3.7.1 (3.7.1-svn253571-1~exp1) | Ubuntu 14.04.5 LTS | Travis …
1236 | Clang 3.8.0 (3.8.0-2ubuntu3~trusty5) | Ubuntu 14.04.5 LTS | Travis …
1237 | Clang 3.9.1 (3.9.1-4ubuntu3~14.04.3) | Ubuntu 14.04.5 LTS | Travis …
1238 | Clang 4.0.1 (4.0.1-svn305264-1~exp1) | Ubuntu 14.04.5 LTS | Travis …
1239 | Clang 5.0.2 (version 5.0.2-svn328729-1~exp1~20180509123505.100) | Ubuntu 14.04.5 LTS | Travis …
1240 | Clang 6.0.1 (6.0.1-svn334776-1~exp1~20190309042707.121) | Ubuntu 14.04.5 LTS | Travis …
1241 | Clang 7.1.0 (7.1.0-svn353565-1~exp1~20190419134007.64) | Ubuntu 14.04.5 LTS | Travis …
1242 | Clang 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) | Ubuntu 18.04.4 LTS | Travis …
1243 | Clang 9.0.0 (x86_64-pc-windows-msvc) | Windows-10.0.17763 | GitHub Act…
1244 | Clang 10.0.0 (x86_64-pc-windows-msvc) | Windows-10.0.17763 | GitHub Act…
1245 | GCC 4.8.5 (Ubuntu 4.8.5-4ubuntu8~14.04.2) | Ubuntu 14.04.5 LTS | Travis …
1246 | GCC 4.9.4 (Ubuntu 4.9.4-2ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis …
1247 | GCC 5.5.0 (Ubuntu 5.5.0-12ubuntu1~14.04) | Ubuntu 14.04.5 LTS | Travis …
1248 | GCC 6.3.0 (Debian 6.3.0-18+deb9u1) | Debian 9 | Circle CI …
1249 | GCC 6.5.0 (Ubuntu 6.5.0-2ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis …
1250 | GCC 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) | Windows-6.3.9600 | AppVeyor …
1251 | GCC 7.5.0 (Ubuntu 7.5.0-3ubuntu1~14.04.1) | Ubuntu 14.04.5 LTS | Travis …
1252 | GCC 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) | Ubuntu 18.04.4 LTS | GitHub Act…
1253 | GCC 8.4.0 (Ubuntu 8.4.0-1ubuntu1~14.04) | Ubuntu 14.04.5 LTS | Travis …
1254 | GCC 9.3.0 (Ubuntu 9.3.0-11ubuntu0~14.04) | Ubuntu 14.04.5 LTS | Travis …
1256 | MSVC 19.0.24241.7 (Build Engine version 14.0.25420.1) | Windows-6.3.9600 | AppVeyor …
1257 | MSVC 19.16.27035.0 (15.9.21+g9802d43bc3 for .NET Framework) | Windows-10.0.14393 | AppVeyor …
1258 | MSVC 19.25.28614.0 (Build Engine version 16.5.0+d4cbfca49 for .NET Framework) | Windows-10.0.1776…
1259 | MSVC 19.25.28614.0 (Build Engine version 16.5.0+d4cbfca49 for .NET Framework) | Windows-10.0.1776…
1260 …e version 16.5.0+d4cbfca49 for .NET Framework) with ClangCL 10.0.0 | Windows-10.0.17763 | GitHub …
1264 <img align="right" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.pn…
1268 Copyright &copy; 2013-2019 [Niels Lohmann](http://nlohmann.me)
1278 …UTF-8 Decoder from Bjoern Hoehrmann which is licensed under the [MIT License](http://opensource.or…
1282 …tps://nemequ.github.io/hedley/) from Evan Nemerson which is licensed as [CC0-1.0](https://creative…
1300 - [Teemperor](https://github.com/Teemperor) implemented CMake support and lcov integration, realize…
1301 - [elliotgoodrich](https://github.com/elliotgoodrich) fixed an issue with double deletion in the it…
1302 - [kirkshoop](https://github.com/kirkshoop) made the iterators of the class composable to other lib…
1303 - [wancw](https://github.com/wanwc) fixed a bug that hindered the class to compile with Clang.
1304 - Tomas Åblad found a bug in the iterator implementation.
1305 - [Joshua C. Randall](https://github.com/jrandall) fixed a bug in the floating-point serialization.
1306 - [Aaron Burghardt](https://github.com/aburgh) implemented code to parse streams incrementally. Fur…
1307 - [Daniel Kopeček](https://github.com/dkopecek) fixed a bug in the compilation with GCC 5.0.
1308 - [Florian Weber](https://github.com/Florianjw) fixed a bug in and improved the performance of the …
1309 - [Eric Cornelius](https://github.com/EricMCornelius) pointed out a bug in the handling with NaN an…
1310 - [易思龙](https://github.com/likebeta) implemented a conversion from anonymous enums.
1311 - [kepkin](https://github.com/kepkin) patiently pushed forward the support for Microsoft Visual stu…
1312 - [gregmarr](https://github.com/gregmarr) simplified the implementation of reverse iterators and he…
1313 - [Caio Luppi](https://github.com/caiovlp) fixed a bug in the Unicode handling.
1314 - [dariomt](https://github.com/dariomt) fixed some typos in the examples.
1315 - [Daniel Frey](https://github.com/d-frey) cleaned up some pointers and implemented exception-safe …
1316 - [Colin Hirsch](https://github.com/ColinH) took care of a small namespace issue.
1317 - [Huu Nguyen](https://github.com/whoshuu) correct a variable name in the documentation.
1318 - [Silverweed](https://github.com/silverweed) overloaded `parse()` to accept an rvalue reference.
1319 - [dariomt](https://github.com/dariomt) fixed a subtlety in MSVC type support and implemented the `…
1320 - [ZahlGraf](https://github.com/ZahlGraf) added a workaround that allows compilation using Android …
1321 - [whackashoe](https://github.com/whackashoe) replaced a function that was marked as unsafe by Visu…
1322 - [406345](https://github.com/406345) fixed two small warnings.
1323 - [Glen Fernandes](https://github.com/glenfe) noted a potential portability problem in the `has_map…
1324 - [Corbin Hughes](https://github.com/nibroc) fixed some typos in the contribution guidelines.
1325 - [twelsby](https://github.com/twelsby) fixed the array subscript operator, an issue that failed th…
1326 - [Volker Diels-Grabsch](https://github.com/vog) fixed a link in the README file.
1327 - [msm-](https://github.com/msm-) added support for American Fuzzy Lop.
1328 - [Annihil](https://github.com/Annihil) fixed an example in the README file.
1329 - [Themercee](https://github.com/Themercee) noted a wrong URL in the README file.
1330 - [Lv Zheng](https://github.com/lv-zheng) fixed a namespace issue with `int64_t` and `uint64_t`.
1331 - [abc100m](https://github.com/abc100m) analyzed the issues with GCC 4.8 and proposed a [partial so…
1332 - [zewt](https://github.com/zewt) added useful notes to the README file about Android.
1333 - [Róbert Márki](https://github.com/robertmrk) added a fix to use move iterators and improved the i…
1334 - [Chris Kitching](https://github.com/ChrisKitching) cleaned up the CMake files.
1335 - [Tom Needham](https://github.com/06needhamt) fixed a subtle bug with MSVC 2015 which was also pro…
1336 - [Mário Feroldi](https://github.com/thelostt) fixed a small typo.
1337 - [duncanwerner](https://github.com/duncanwerner) found a really embarrassing performance regressio…
1338 - [Damien](https://github.com/dtoma) fixed one of the last conversion warnings.
1339 - [Thomas Braun](https://github.com/t-b) fixed a warning in a test case and adjusted MSVC calls in …
1340 - [Théo DELRIEU](https://github.com/theodelrieu) patiently and constructively oversaw the long way …
1341 - [Stefan](https://github.com/5tefan) fixed a minor issue in the documentation.
1342 - [Vasil Dimov](https://github.com/vasild) fixed the documentation regarding conversions from `std:…
1343 - [ChristophJud](https://github.com/ChristophJud) overworked the CMake files to ease project inclus…
1344 - [Vladimir Petrigo](https://github.com/vpetrigo) made a SFINAE hack more readable and added Visual…
1345 - [Denis Andrejew](https://github.com/seeekr) fixed a grammar issue in the README file.
1346 - [Pierre-Antoine Lacaze](https://github.com/palacaze) found a subtle bug in the `dump()` function.
1347 - [TurpentineDistillery](https://github.com/TurpentineDistillery) pointed to [`std::locale::classic…
1348 - [cgzones](https://github.com/cgzones) had an idea how to fix the Coverity scan.
1349 - [Jared Grubb](https://github.com/jaredgrubb) silenced a nasty documentation warning.
1350 - [Yixin Zhang](https://github.com/qwename) fixed an integer overflow check.
1351 - [Bosswestfalen](https://github.com/Bosswestfalen) merged two iterator classes into a smaller one.
1352 - [Daniel599](https://github.com/Daniel599) helped to get Travis execute the tests with Clang's san…
1353 - [Jonathan Lee](https://github.com/vjon) fixed an example in the README file.
1354 - [gnzlbg](https://github.com/gnzlbg) supported the implementation of user-defined types.
1355 - [Alexej Harm](https://github.com/qis) helped to get the user-defined types working with Visual St…
1356 - [Jared Grubb](https://github.com/jaredgrubb) supported the implementation of user-defined types.
1357 - [EnricoBilla](https://github.com/EnricoBilla) noted a typo in an example.
1358 - [Martin Hořeňovský](https://github.com/horenmar) found a way for a 2x speedup for the compilation…
1359 - [ukhegg](https://github.com/ukhegg) found proposed an improvement for the examples section.
1360 - [rswanson-ihi](https://github.com/rswanson-ihi) noted a typo in the README.
1361 - [Mihai Stan](https://github.com/stanmihai4) fixed a bug in the comparison with `nullptr`s.
1362 - [Tushar Maheshwari](https://github.com/tusharpm) added [cotire](https://github.com/sakra/cotire) …
1363 - [TedLyngmo](https://github.com/TedLyngmo) noted a typo in the README, removed unnecessary bit ari…
1364 - [Krzysztof Woś](https://github.com/krzysztofwos) made exceptions more visible.
1365 - [ftillier](https://github.com/ftillier) fixed a compiler warning.
1366 - [tinloaf](https://github.com/tinloaf) made sure all pushed warnings are properly popped.
1367 - [Fytch](https://github.com/Fytch) found a bug in the documentation.
1368 - [Jay Sistar](https://github.com/Type1J) implemented a Meson build description.
1369 - [Henry Lee](https://github.com/HenryRLee) fixed a warning in ICC and improved the iterator implem…
1370 - [Vincent Thiery](https://github.com/vthiery) maintains a package for the Conan package manager.
1371 - [Steffen](https://github.com/koemeet) fixed a potential issue with MSVC and `std::min`.
1372 - [Mike Tzou](https://github.com/Chocobo1) fixed some typos.
1373 - [amrcode](https://github.com/amrcode) noted a misleading documentation about comparison of floats.
1374 - [Oleg Endo](https://github.com/olegendo) reduced the memory consumption by replacing `<iostream>`…
1375 - [dan-42](https://github.com/dan-42) cleaned up the CMake files to simplify including/reusing of t…
1376 - [Nikita Ofitserov](https://github.com/himikof) allowed for moving values from initializer lists.
1377 - [Greg Hurrell](https://github.com/wincent) fixed a typo.
1378 - [Dmitry Kukovinets](https://github.com/DmitryKuk) fixed a typo.
1379 - [kbthomp1](https://github.com/kbthomp1) fixed an issue related to the Intel OSX compiler.
1380 - [Markus Werle](https://github.com/daixtrose) fixed a typo.
1381 - [WebProdPP](https://github.com/WebProdPP) fixed a subtle error in a precondition check.
1382 - [Alex](https://github.com/leha-bot) noted an error in a code sample.
1383 - [Tom de Geus](https://github.com/tdegeus) reported some warnings with ICC and helped fixing them.
1384 - [Perry Kundert](https://github.com/pjkundert) simplified reading from input streams.
1385 - [Sonu Lohani](https://github.com/sonulohani) fixed a small compilation error.
1386 - [Jamie Seward](https://github.com/jseward) fixed all MSVC warnings.
1387 - [Nate Vargas](https://github.com/eld00d) added a Doxygen tag file.
1388 - [pvleuven](https://github.com/pvleuven) helped fixing a warning in ICC.
1389 - [Pavel](https://github.com/crea7or) helped fixing some warnings in MSVC.
1390 - [Jamie Seward](https://github.com/jseward) avoided unnecessary string copies in `find()` and `cou…
1391 - [Mitja](https://github.com/Itja) fixed some typos.
1392 - [Jorrit Wronski](https://github.com/jowr) updated the Hunter package links.
1393 - [Matthias Möller](https://github.com/TinyTinni) added a `.natvis` for the MSVC debug view.
1394 - [bogemic](https://github.com/bogemic) fixed some C++17 deprecation warnings.
1395 - [Eren Okka](https://github.com/erengy) fixed some MSVC warnings.
1396 - [abolz](https://github.com/abolz) integrated the Grisu2 algorithm for proper floating-point forma…
1397 - [Vadim Evard](https://github.com/Pipeliner) fixed a Markdown issue in the README.
1398 - [zerodefect](https://github.com/zerodefect) fixed a compiler warning.
1399 - [Kert](https://github.com/kaidokert) allowed to template the string type in the serialization and…
1400 - [mark-99](https://github.com/mark-99) helped fixing an ICC error.
1401 - [Patrik Huber](https://github.com/patrikhuber) fixed links in the README file.
1402 - [johnfb](https://github.com/johnfb) found a bug in the implementation of CBOR's indefinite length…
1403 - [Paul Fultz II](https://github.com/pfultz2) added a note on the cget package manager.
1404 - [Wilson Lin](https://github.com/wla80) made the integration section of the README more concise.
1405 - [RalfBielig](https://github.com/ralfbielig) detected and fixed a memory leak in the parser callba…
1406 - [agrianius](https://github.com/agrianius) allowed to dump JSON to an alternative string type.
1407 - [Kevin Tonon](https://github.com/ktonon) overworked the C++11 compiler checks in CMake.
1408 - [Axel Huebl](https://github.com/ax3l) simplified a CMake check and added support for the [Spack p…
1409 - [Carlos O'Ryan](https://github.com/coryan) fixed a typo.
1410 - [James Upjohn](https://github.com/jammehcow) fixed a version number in the compilers section.
1411 - [Chuck Atkins](https://github.com/chuckatkins) adjusted the CMake files to the CMake packaging gu…
1412 - [Jan Schöppach](https://github.com/dns13) fixed a typo.
1413 - [martin-mfg](https://github.com/martin-mfg) fixed a typo.
1414 - [Matthias Möller](https://github.com/TinyTinni) removed the dependency from `std::stringstream`.
1415 - [agrianius](https://github.com/agrianius) added code to use alternative string implementations.
1416 - [Daniel599](https://github.com/Daniel599) allowed to use more algorithms with the `items()` funct…
1417 - [Julius Rakow](https://github.com/jrakow) fixed the Meson include directory and fixed the links t…
1418 - [Sonu Lohani](https://github.com/sonulohani) fixed the compilation with MSVC 2015 in debug mode.
1419 - [grembo](https://github.com/grembo) fixed the test suite and re-enabled several test cases.
1420 - [Hyeon Kim](https://github.com/simnalamburt) introduced the macro `JSON_INTERNAL_CATCH` to contro…
1421 - [thyu](https://github.com/thyu) fixed a compiler warning.
1422 - [David Guthrie](https://github.com/LEgregius) fixed a subtle compilation error with Clang 3.4.2.
1423 - [Dennis Fischer](https://github.com/dennisfischer) allowed to call `find_package` without install…
1424 - [Hyeon Kim](https://github.com/simnalamburt) fixed an issue with a double macro definition.
1425 - [Ben Berman](https://github.com/rivertam) made some error messages more understandable.
1426 - [zakalibit](https://github.com/zakalibit) fixed a compilation problem with the Intel C++ compiler.
1427 - [mandreyel](https://github.com/mandreyel) fixed a compilation problem.
1428 - [Kostiantyn Ponomarenko](https://github.com/koponomarenko) added version and license information …
1429 - [Henry Schreiner](https://github.com/henryiii) added support for GCC 4.8.
1430 - [knilch](https://github.com/knilch0r) made sure the test suite does not stall when run in the wro…
1431 - [Antonio Borondo](https://github.com/antonioborondo) fixed an MSVC 2017 warning.
1432 - [Dan Gendreau](https://github.com/dgendreau) implemented the `NLOHMANN_JSON_SERIALIZE_ENUM` macro…
1433 - [efp](https://github.com/efp) added line and column information to parse errors.
1434 - [julian-becker](https://github.com/julian-becker) added BSON support.
1435 - [Pratik Chowdhury](https://github.com/pratikpc) added support for structured bindings.
1436 - [David Avedissian](https://github.com/davedissian) added support for Clang 5.0.1 (PS4 version).
1437 - [Jonathan Dumaresq](https://github.com/dumarjo) implemented an input adapter to read from `FILE*`.
1438 - [kjpus](https://github.com/kjpus) fixed a link in the documentation.
1439 - [Manvendra Singh](https://github.com/manu-chroma) fixed a typo in the documentation.
1440 - [ziggurat29](https://github.com/ziggurat29) fixed an MSVC warning.
1441 - [Sylvain Corlay](https://github.com/SylvainCorlay) added code to avoid an issue with MSVC.
1442 - [mefyl](https://github.com/mefyl) fixed a bug when JSON was parsed from an input stream.
1443 - [Millian Poquet](https://github.com/mpoquet) allowed to install the library via Meson.
1444 - [Michael Behrns-Miller](https://github.com/moodboom) found an issue with a missing namespace.
1445 - [Nasztanovics Ferenc](https://github.com/naszta) fixed a compilation issue with libc 2.12.
1446 - [Andreas Schwab](https://github.com/andreas-schwab) fixed the endian conversion.
1447 - [Mark-Dunning](https://github.com/Mark-Dunning) fixed a warning in MSVC.
1448 - [Gareth Sylvester-Bradley](https://github.com/garethsb-sony) added `operator/` for JSON Pointers.
1449 - [John-Mark](https://github.com/johnmarkwayve) noted a missing header.
1450 - [Vitaly Zaitsev](https://github.com/xvitaly) fixed compilation with GCC 9.0.
1451 - [Laurent Stacul](https://github.com/stac47) fixed compilation with GCC 9.0.
1452 - [Ivor Wanders](https://github.com/iwanders) helped reducing the CMake requirement to version 3.1.
1453 - [njlr](https://github.com/njlr) updated the Buckaroo instructions.
1454 - [Lion](https://github.com/lieff) fixed a compilation issue with GCC 7 on CentOS.
1455 - [Isaac Nickaein](https://github.com/nickaein) improved the integer serialization performance and …
1456 - [past-due](https://github.com/past-due) suppressed an unfixable warning.
1457 - [Elvis Oric](https://github.com/elvisoric) improved Meson support.
1458 - [Matěj Plch](https://github.com/Afforix) fixed an example in the README.
1459 - [Mark Beckwith](https://github.com/wythe) fixed a typo.
1460 - [scinart](https://github.com/scinart) fixed bug in the serializer.
1461 - [Patrick Boettcher](https://github.com/pboettch) implemented `push_back()` and `pop_back()` for J…
1462 - [Bruno Oliveira](https://github.com/nicoddemus) added support for Conda.
1463 - [Michele Caini](https://github.com/skypjack) fixed links in the README.
1464 - [Hani](https://github.com/hnkb) documented how to install the library with NuGet.
1465 - [Mark Beckwith](https://github.com/wythe) fixed a typo.
1466 - [yann-morin-1998](https://github.com/yann-morin-1998) helped reducing the CMake requirement to ve…
1467 - [Konstantin Podsvirov](https://github.com/podsvirov) maintains a package for the MSYS2 software d…
1468 - [remyabel](https://github.com/remyabel) added GNUInstallDirs to the CMake files.
1469 - [Taylor Howard](https://github.com/taylorhoward92) fixed a unit test.
1470 - [Gabe Ron](https://github.com/Macr0Nerd) implemented the `to_string` method.
1471 - [Watal M. Iwasaki](https://github.com/heavywatal) fixed a Clang warning.
1472 - [Viktor Kirilov](https://github.com/onqtam) switched the unit tests from [Catch](https://github.c…
1473 - [Juncheng E](https://github.com/ejcjason) fixed a typo.
1474 - [tete17](https://github.com/tete17) fixed a bug in the `contains` function.
1475 - [Xav83](https://github.com/Xav83) fixed some cppcheck warnings.
1476 - [0xflotus](https://github.com/0xflotus) fixed some typos.
1477 - [Christian Deneke](https://github.com/chris0x44) added a const version of `json_pointer::back`.
1478 - [Julien Hamaide](https://github.com/crazyjul) made the `items()` function work with custom string…
1479 - [Evan Nemerson](https://github.com/nemequ) updated fixed a bug in Hedley and updated this library…
1480 - [Florian Pigorsch](https://github.com/flopp) fixed a lot of typos.
1481 - [Camille Bégué](https://github.com/cbegue) fixed an issue in the conversion from `std::pair` and…
1482 - [Anthony VH](https://github.com/AnthonyVH) fixed a compile error in an enum deserialization.
1483 - [Yuriy Vountesmery](https://github.com/ua-code-dragon) noted a subtle bug in a preprocessor check.
1484 - [Chen](https://github.com/dota17) fixed numerous issues in the library.
1485 - [Antony Kellermann](https://github.com/aokellermann) added a CI step for GCC 10.1.
1486 - [Alex](https://github.com/gistrec) fixed an MSVC warning.
1487 - [Rainer](https://github.com/rvjr) proposed an improvement in the floating-point serialization in …
1488 - [Francois Chabot](https://github.com/FrancoisChabot) made performance improvements in the input a…
1489 - [Arthur Sonzogni](https://github.com/ArthurSonzogni) documented how the library can be included v…
1490 - [Rimas Misevičius](https://github.com/rmisev) fixed an error message.
1491 - [Alexander Myasnikov](https://github.com/alexandermyasnikov) fixed some examples and a link in th…
1492 - [Hubert Chathi](https://github.com/uhoreg) made CMake's version config file architecture-independ…
1493 - [OmnipotentEntity](https://github.com/OmnipotentEntity) implemented the binary values for CBOR, M…
1494 - [ArtemSarmini](https://github.com/ArtemSarmini) fixed a compilation issue with GCC 10 and fixed a…
1495 - [Evgenii Sopov](https://github.com/sea-kg) integrated the library to the wsjcpp package manager.
1496 - [Sergey Linev](https://github.com/linev) fixed a compiler warning.
1497 - [Miguel Magalhães](https://github.com/magamig) fixed the year in the copyright.
1498 - [Gareth Sylvester-Bradley](https://github.com/garethsb-sony) fixed a compilation issue with MSVC.
1499 - [Alexander “weej” Jones](https://github.com/alex-weej) fixed an example in the README.
1500 - [Antoine Cœur](https://github.com/Coeur) fixed some typos in the documentation.
1501 - [jothepro](https://github.com/jothepro) updated links to the Hunter package.
1502 - [Dave Lee](https://github.com/kastiglione) fixed link in the README.
1503 - [Joël Lamotte](https://github.com/Klaim) added instruction for using Build2's package manager.
1504 - [Paul Jurczak](https://github.com/pauljurczak) fixed an example in the README.
1505 - [Sonu Lohani](https://github.com/sonulohani) fixed a warning.
1506 - [Carlos Gomes Martinho](https://github.com/gocarlos) updated the Conan package source.
1507 - [Konstantin Podsvirov](https://github.com/podsvirov) fixed the MSYS2 package documentation.
1508 - [Tridacnid](https://github.com/Tridacnid) improved the CMake tests.
1509 - [Michael](https://github.com/MBalszun) fixed MSVC warnings.
1510 - [Quentin Barbarat](https://github.com/quentin-dev) fixed an example in the documentation.
1511 - [XyFreak](https://github.com/XyFreak) fixed a compiler warning.
1512 - [TotalCaesar659](https://github.com/TotalCaesar659) fixed links in the README.
1513 - [Tanuj Garg](https://github.com/tanuj208) improved the fuzzer coverage for UBSAN input.
1514 - [AODQ](https://github.com/AODQ) fixed a compiler warning.
1515 - [jwittbrodt](https://github.com/jwittbrodt) made `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE` inline.
1516 - [pfeatherstone](https://github.com/pfeatherstone) improved the upper bound of arguments of the `N…
1517 - [Jan Procházka](https://github.com/jprochazk) fixed a bug in the CBOR parser for binary and strin…
1518 - [T0b1-iOS](https://github.com/T0b1-iOS) fixed a bug in the new hash implementation.
1519 - [Matthew Bauer](https://github.com/matthewbauer) adjusted the CBOR writer to create tags for bina…
1520 - [gatopeich](https://github.com/gatopeich) implemented an ordered map container for `nlohmann::ord…
1521 - [Érico Nogueira Rolim](https://github.com/ericonr) added support for pkg-config.
1522 - [KonanM](https://github.com/KonanM) proposed an implementation for the `NLOHMANN_DEFINE_TYPE_NON_…
1523 - [Guillaume Racicot](https://github.com/gracicot) implemented `string_view` support and allowed C+…
1524 - [Alex Reinking](https://github.com/alexreinking) improved CMake support for `FetchContent`.
1529 ## Used third-party tools
1531 …. However, it is built, tested, documented, and whatnot using a lot of third-party tools and servi…
1533 - [**amalgamate.py - Amalgamate C source and header files**](https://github.com/edlund/amalgamate) …
1534 - [**American fuzzy lop**](https://lcamtuf.coredump.cx/afl/) for fuzz testing
1535 - [**AppVeyor**](https://www.appveyor.com) for [continuous integration](https://ci.appveyor.com/pro…
1536 - [**Artistic Style**](http://astyle.sourceforge.net) for automatic source code indentation
1537 - [**CircleCI**](https://circleci.com) for [continuous integration](https://circleci.com/gh/nlohman…
1538 - [**Clang**](https://clang.llvm.org) for compilation with code sanitizers
1539 - [**CMake**](https://cmake.org) for build automation
1540 - [**Codacity**](https://www.codacy.com) for further [code analysis](https://www.codacy.com/app/nlo…
1541 - [**Coveralls**](https://coveralls.io) to measure [code coverage](https://coveralls.io/github/nloh…
1542 - [**Coverity Scan**](https://scan.coverity.com) for [static analysis](https://scan.coverity.com/pr…
1543 - [**cppcheck**](http://cppcheck.sourceforge.net) for static analysis
1544 - [**doctest**](https://github.com/onqtam/doctest) for the unit tests
1545 - [**Doxygen**](https://www.doxygen.nl/index.html) to generate [documentation](https://nlohmann.git…
1546 - [**git-update-ghpages**](https://github.com/rstacruz/git-update-ghpages) to upload the documentat…
1547 - [**GitHub Changelog Generator**](https://github.com/skywinder/github-changelog-generator) to gene…
1548 - [**Google Benchmark**](https://github.com/google/benchmark) to implement the benchmarks
1549 - [**Hedley**](https://nemequ.github.io/hedley/) to avoid re-inventing several compiler-agnostic fe…
1550 - [**lcov**](http://ltp.sourceforge.net/coverage/lcov.php) to process coverage information and crea…
1551 - [**libFuzzer**](https://llvm.org/docs/LibFuzzer.html) to implement fuzz testing for OSS-Fuzz
1552 - [**OSS-Fuzz**](https://github.com/google/oss-fuzz) for continuous fuzz testing of the library ([p…
1553 - [**Probot**](https://probot.github.io) for automating maintainer tasks such as closing stale issu…
1554 - [**send_to_wandbox**](https://github.com/nlohmann/json/blob/develop/doc/scripts/send_to_wandbox.p…
1555 - [**Travis**](https://travis-ci.org) for [continuous integration](https://travis-ci.org/nlohmann/j…
1556 - [**Valgrind**](https://valgrind.org) to check for correct memory management
1557 - [**Wandbox**](https://wandbox.org) for [online examples](https://wandbox.org/permlink/3lCHrFUZANO…
1571 - Only **UTF-8** encoded input is supported which is the default encoding for JSON according to [RF…
1572 - `std::u16string` and `std::u32string` can be parsed, assuming UTF-16 and UTF-32 encoding, respect…
1573 - Other encodings such as Latin-1 or ISO 8859-1 are **not** supported and will yield parse or seria…
1574 - [Unicode noncharacters](https://www.unicode.org/faq/private_use.html#nonchar1) will not be replac…
1575 - Invalid surrogates (e.g., incomplete pairs such as `\uDEAD`) will yield parse errors.
1576 - The strings stored in the library are UTF-8 encoded. When using the default string type (`std::st…
1577 - When you store strings with different encodings in the library, calling [`dump()`](https://nlohma…
1590 … of the Robustness Principle](https://tools.ietf.org/html/draft-iab-protocol-maintenance-01) on th…
1596 …ndards-compliant, as the [JSON standard](https://tools.ietf.org/html/rfc8259.html) defines objects…
1598-map) ([integration](https://github.com/nlohmann/json/issues/546#issuecomment-304447518)) or [`nlo…
1611 - The code contains numerous debug **assertions** which can be switched off by defining the preproc…
1612 - As the exact type of a number is not defined in the [JSON specification](https://tools.ietf.org/h…
1613 - The code can be compiled without C++ **runtime type identification** features; that is, you can u…
1614 - **Exceptions** are used widely within the library. They can, however, be switched off with either…
1623 $ cmake .. -DJSON_BuildTests=On
1624 $ cmake --build .
1625 $ ctest --output-on-failure
1628 …download the files yourself and pass the directory with the test files via `-DJSON_TestDataDirecto…
1630 …e code via Git, test `cmake_fetch_content_configure`. Please execute `ctest -LE git_required` to s…