JsonCpp
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 deserialization/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.zis built with C++11.0.y.zcan be used with older compilers.00.11.zcan 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, which has installation instruction dependent on your build system. For example, if you are in a CMake project, the CMake install tutorial suggests the follow installation method.
First, clone and set up vcpkg.
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.shThen, create a vcpkg.json manifest, enabling manifest mode and adding JsonCpp to the manifest's dependencies list.
vcpkg new --application
vcpkg add port jsoncpp[!NOTE]: you can use vcpkg in either classic mode or manifest mode (recommended).
Classic mode
If your project does not have a vcpkg.json,
your project is in Classic mode
you can install JsonCpp by directly invoking the install command:
Manifest mode
If your project does have a vcpkg.json manifest, your project is in Manifest mode and you need to add JsonCpp to your package manifest dependencies, then invoke install with no arguments.
vcpkg add port jsoncpp
vcpkg installExample manifest:
{
"name": "best-app-ever",
"dependencies": [ "jsoncpp" ],
}[!NOTE] 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.
Conan package manager
You can download and install JsonCpp using the Conan package manager:
conan install -r conancenter --requires="jsoncpp/[*]" --build=missingThe JsonCpp package in Conan Center is kept up to date by ConanCenterIndex contributors. If the version is out of date, please create an issue or pull request on the Conan Center Index repository.
Amalgamated source
See the Wiki entry on Amalgamated Source.
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.