A C++ library for interacting with JSON. (Evacuated from NSA/Microsoft Github)

mwestphal 8190e061bc Fix wrong usage of doxygen groups (#1417) 2 gadi atpakaļ
.github 2d211de06e Update issue templates 5 gadi atpakaļ
.travis_scripts fa747b1ae3 clang-format is not available by default 3 gadi atpakaļ
cmake 5be07bdc5e Fix generation of pkg-config file with absolute includedir/libdir. (#1199) 4 gadi atpakaļ
devtools be4a512887 Remove trailing space characters (#1256) 4 gadi atpakaļ
doc 7b28698c5c Cleanup versioning strategy relanding (#989) (#997) 5 gadi atpakaļ
example c39fbdac0f minor fix for code examples (#1317) 3 gadi atpakaļ
include 8190e061bc Fix wrong usage of doxygen groups (#1417) 2 gadi atpakaļ
pkg-config ac2870298e Fixed pkg-config Version 4 gadi atpakaļ
src a1f1613bdd Fix various typos (#1350) 3 gadi atpakaļ
test 2d55c7445f Parse large floats as infinity (#1349) (#1353) 3 gadi atpakaļ
.clang-format f34bf24bbd Issue #958: Travis CI should enforce clang-format standards (#1026) 5 gadi atpakaļ
.clang-tidy be4a512887 Remove trailing space characters (#1256) 4 gadi atpakaļ
.gitattributes 7f4be39e9f add .gitattributes 9 gadi atpakaļ
.gitignore 5c4219b8ae Update version in dox 4 gadi atpakaļ
.travis.yml fa747b1ae3 clang-format is not available by default 3 gadi atpakaļ
AUTHORS d2d4c74a03 Update README.md and add dota17 to AUTHORS list. (#1168) 5 gadi atpakaļ
BUILD.bazel 375a1119f8 Add support for Bazel build system (#1275) 4 gadi atpakaļ
CMakeLists.txt a1f1613bdd Fix various typos (#1350) 3 gadi atpakaļ
CONTRIBUTING.md a1f1613bdd Fix various typos (#1350) 3 gadi atpakaļ
CTestConfig.cmake a3c8e86c0b ENH: Refactor and enhance the CI testing infrastructure 6 gadi atpakaļ
LICENSE be4a512887 Remove trailing space characters (#1256) 4 gadi atpakaļ
README.md b8cb8889aa Added current dir specifier for PowerShell (#1169) 5 gadi atpakaļ
amalgamate.py 8b20b7a317 amalgamate: add version.h and allocator.h to the forwards header 5 gadi atpakaļ
appveyor.yml 8954092f0a ENH: Prevent cmake in source builds (#1091) 4 gadi atpakaļ
dev.makefile 5c4219b8ae Update version in dox 4 gadi atpakaļ
doxybuild.py be4a512887 Remove trailing space characters (#1256) 4 gadi atpakaļ
get_version.pl 5c4219b8ae Update version in dox 4 gadi atpakaļ
jsoncpp-namespaced-targets.cmake 993e4e2828 - isolated namespace targets into separate file 4 gadi atpakaļ
jsoncppConfig.cmake.in 993e4e2828 - isolated namespace targets into separate file 4 gadi atpakaļ
meson.build c4904b2c0d Bump micro version 3 gadi atpakaļ
meson_options.txt 6bc55ec35d Meson updates (#1124) 5 gadi atpakaļ
reformat.sh ceae0e3867 Fix clang-tidy warnings (#1231) 4 gadi atpakaļ
version.in 295e73ff3c generate both version.h and version from CMakelists.txt 10 gadi atpakaļ

README.md

JsonCpp

badge badge badge Coverage Status

JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs.

JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.

Documentation

JsonCpp documentation is generated using Doxygen.

A note on backward-compatibility

  • 1.y.z is built with C++11.
  • 0.y.z can be used with older compilers.
  • 00.11.z can be used both in old and new compilers.
  • Major versions maintain binary-compatibility.

Special note

The branch 00.11.zis a new branch, its major version number 00 is to show that it is different from 0.y.z and 1.y.z, the main purpose of this branch is to make a balance between the other two branches. Thus, users can use some new features in this new branch that introduced in 1.y.z, but can hardly applied into 0.y.z.

Using JsonCpp in your project

The vcpkg dependency manager

You can download and install JsonCpp using the vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install jsoncpp

The JsonCpp port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Amalgamated source

https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)

The Meson Build System

If you are using the Meson Build System, then you can get a wrap file by downloading it from Meson WrapDB, or simply use meson wrap install jsoncpp.

Other ways

If you have trouble, see the Wiki, or post a question as an Issue.

License

See the LICENSE file for details. In summary, JsonCpp is licensed under the MIT license, or public domain if desired and recognized in your jurisdiction.