xref: /aosp_15_r20/external/jsoncpp/README.md (revision 4484440890e2bc6e07362b4feaf15601abfe0071)
1*44844408SAndroid Build Coastguard Worker# JsonCpp
2*44844408SAndroid Build Coastguard Worker
3*44844408SAndroid Build Coastguard Worker[![badge](https://img.shields.io/badge/conan.io-jsoncpp%2F1.8.0-green.svg?logo=data:image/png;base64%2CiVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAMAAAAolt3jAAAA1VBMVEUAAABhlctjlstkl8tlmMtlmMxlmcxmmcxnmsxpnMxpnM1qnc1sn85voM91oM11oc1xotB2oc56pNF6pNJ2ptJ8ptJ8ptN9ptN8p9N5qNJ9p9N9p9R8qtOBqdSAqtOAqtR%2BrNSCrNJ/rdWDrNWCsNWCsNaJs9eLs9iRvNuVvdyVv9yXwd2Zwt6axN6dxt%2Bfx%2BChyeGiyuGjyuCjyuGly%2BGlzOKmzOGozuKoz%2BKqz%2BOq0OOv1OWw1OWw1eWx1eWy1uay1%2Baz1%2Baz1%2Bez2Oe02Oe12ee22ujUGwH3AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgBQkREyOxFIh/AAAAiklEQVQI12NgAAMbOwY4sLZ2NtQ1coVKWNvoc/Eq8XDr2wB5Ig62ekza9vaOqpK2TpoMzOxaFtwqZua2Bm4makIM7OzMAjoaCqYuxooSUqJALjs7o4yVpbowvzSUy87KqSwmxQfnsrPISyFzWeWAXCkpMaBVIC4bmCsOdgiUKwh3JojLgAQ4ZCE0AMm2D29tZwe6AAAAAElFTkSuQmCC)](https://bintray.com/theirix/conan-repo/jsoncpp%3Atheirix)
4*44844408SAndroid Build Coastguard Worker[![badge](https://img.shields.io/badge/license-MIT-blue)](https://github.com/open-source-parsers/jsoncpp/blob/master/LICENSE)
5*44844408SAndroid Build Coastguard Worker[![badge](https://img.shields.io/badge/document-doxygen-brightgreen)](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html)
6*44844408SAndroid Build Coastguard Worker[![Coverage Status](https://coveralls.io/repos/github/open-source-parsers/jsoncpp/badge.svg?branch=master)](https://coveralls.io/github/open-source-parsers/jsoncpp?branch=master)
7*44844408SAndroid Build Coastguard Worker
8*44844408SAndroid Build Coastguard Worker
9*44844408SAndroid Build Coastguard Worker[JSON][json-org] is a lightweight data-interchange format. It can represent
10*44844408SAndroid Build Coastguard Workernumbers, strings, ordered sequences of values, and collections of name/value
11*44844408SAndroid Build Coastguard Workerpairs.
12*44844408SAndroid Build Coastguard Worker
13*44844408SAndroid Build Coastguard Worker[json-org]: http://json.org/
14*44844408SAndroid Build Coastguard Worker
15*44844408SAndroid Build Coastguard WorkerJsonCpp is a C++ library that allows manipulating JSON values, including
16*44844408SAndroid Build Coastguard Workerserialization and deserialization to and from strings. It can also preserve
17*44844408SAndroid Build Coastguard Workerexisting comment in unserialization/serialization steps, making it a convenient
18*44844408SAndroid Build Coastguard Workerformat to store user input files.
19*44844408SAndroid Build Coastguard Worker
20*44844408SAndroid Build Coastguard Worker
21*44844408SAndroid Build Coastguard Worker## Documentation
22*44844408SAndroid Build Coastguard Worker
23*44844408SAndroid Build Coastguard Worker[JsonCpp documentation][JsonCpp-documentation] is generated using [Doxygen][].
24*44844408SAndroid Build Coastguard Worker
25*44844408SAndroid Build Coastguard Worker[JsonCpp-documentation]: http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html
26*44844408SAndroid Build Coastguard Worker[Doxygen]: http://www.doxygen.org
27*44844408SAndroid Build Coastguard Worker
28*44844408SAndroid Build Coastguard Worker
29*44844408SAndroid Build Coastguard Worker## A note on backward-compatibility
30*44844408SAndroid Build Coastguard Worker
31*44844408SAndroid Build Coastguard Worker* `1.y.z` is built with C++11.
32*44844408SAndroid Build Coastguard Worker* `0.y.z` can be used with older compilers.
33*44844408SAndroid Build Coastguard Worker* `00.11.z` can be used both in old and new compilers.
34*44844408SAndroid Build Coastguard Worker* Major versions maintain binary-compatibility.
35*44844408SAndroid Build Coastguard Worker
36*44844408SAndroid Build Coastguard Worker### Special note
37*44844408SAndroid Build Coastguard WorkerThe branch `00.11.z`is a new branch, its major version number `00` is to show that it is
38*44844408SAndroid Build Coastguard Workerdifferent from `0.y.z` and `1.y.z`, the main purpose of this branch is to make a balance
39*44844408SAndroid Build Coastguard Workerbetween the other two branches. Thus, users can use some new features in this new branch
40*44844408SAndroid Build Coastguard Workerthat introduced in 1.y.z, but can hardly applied into 0.y.z.
41*44844408SAndroid Build Coastguard Worker
42*44844408SAndroid Build Coastguard Worker## Using JsonCpp in your project
43*44844408SAndroid Build Coastguard Worker
44*44844408SAndroid Build Coastguard Worker### The vcpkg dependency manager
45*44844408SAndroid Build Coastguard WorkerYou can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
46*44844408SAndroid Build Coastguard Worker
47*44844408SAndroid Build Coastguard Worker    git clone https://github.com/Microsoft/vcpkg.git
48*44844408SAndroid Build Coastguard Worker    cd vcpkg
49*44844408SAndroid Build Coastguard Worker    ./bootstrap-vcpkg.sh
50*44844408SAndroid Build Coastguard Worker    ./vcpkg integrate install
51*44844408SAndroid Build Coastguard Worker    ./vcpkg install jsoncpp
52*44844408SAndroid Build Coastguard Worker
53*44844408SAndroid Build Coastguard WorkerThe 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](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
54*44844408SAndroid Build Coastguard Worker
55*44844408SAndroid Build Coastguard Worker### Amalgamated source
56*44844408SAndroid Build Coastguard Workerhttps://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)
57*44844408SAndroid Build Coastguard Worker
58*44844408SAndroid Build Coastguard Worker### The Meson Build System
59*44844408SAndroid Build Coastguard WorkerIf you are using the [Meson Build System](http://mesonbuild.com), then you can get a wrap file by downloading it from [Meson WrapDB](https://wrapdb.mesonbuild.com/jsoncpp), or simply use `meson wrap install jsoncpp`.
60*44844408SAndroid Build Coastguard Worker
61*44844408SAndroid Build Coastguard Worker### Other ways
62*44844408SAndroid Build Coastguard WorkerIf you have trouble, see the [Wiki](https://github.com/open-source-parsers/jsoncpp/wiki), or post a question as an Issue.
63*44844408SAndroid Build Coastguard Worker
64*44844408SAndroid Build Coastguard Worker## License
65*44844408SAndroid Build Coastguard Worker
66*44844408SAndroid Build Coastguard WorkerSee the `LICENSE` file for details. In summary, JsonCpp is licensed under the
67*44844408SAndroid Build Coastguard WorkerMIT license, or public domain if desired and recognized in your jurisdiction.
68