README.md
1# JsonCpp
2
3[![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[![badge](https://img.shields.io/badge/license-MIT-blue)](https://github.com/open-source-parsers/jsoncpp/blob/master/LICENSE)
5[![badge](https://img.shields.io/badge/document-doxygen-brightgreen)](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html)
6[![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
8
9[JSON][json-org] is a lightweight data-interchange format. It can represent
10numbers, strings, ordered sequences of values, and collections of name/value
11pairs.
12
13[json-org]: http://json.org/
14
15JsonCpp is a C++ library that allows manipulating JSON values, including
16serialization and deserialization to and from strings. It can also preserve
17existing comment in unserialization/serialization steps, making it a convenient
18format to store user input files.
19
20
21## Documentation
22
23[JsonCpp documentation][JsonCpp-documentation] is generated using [Doxygen][].
24
25[JsonCpp-documentation]: http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html
26[Doxygen]: http://www.doxygen.org
27
28
29## A note on backward-compatibility
30
31* `1.y.z` is built with C++11.
32* `0.y.z` can be used with older compilers.
33* `00.11.z` can be used both in old and new compilers.
34* Major versions maintain binary-compatibility.
35
36### Special note
37The branch `00.11.z`is a new branch, its major version number `00` is to show that it is
38different from `0.y.z` and `1.y.z`, the main purpose of this branch is to make a balance
39between the other two branches. Thus, users can use some new features in this new branch
40that introduced in 1.y.z, but can hardly applied into 0.y.z.
41
42## Using JsonCpp in your project
43
44### The vcpkg dependency manager
45You can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
46
47 git clone https://github.com/Microsoft/vcpkg.git
48 cd vcpkg
49 ./bootstrap-vcpkg.sh
50 ./vcpkg integrate install
51 ./vcpkg install jsoncpp
52
53The 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
55### Amalgamated source
56https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)
57
58### The Meson Build System
59If 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
61### Other ways
62If you have trouble, see the [Wiki](https://github.com/open-source-parsers/jsoncpp/wiki), or post a question as an Issue.
63
64## License
65
66See the `LICENSE` file for details. In summary, JsonCpp is licensed under the
67MIT license, or public domain if desired and recognized in your jurisdiction.
68