Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 1 | # JsonCpp |
| 2 | |
| 3 | [](https://bintray.com/theirix/conan-repo/jsoncpp%3Atheirix) |
| 4 | [](https://github.com/open-source-parsers/jsoncpp/blob/master/LICENSE) |
| 5 | [](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html) |
| 6 | [](https://coveralls.io/github/open-source-parsers/jsoncpp?branch=master) |
| 7 | |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 8 | |
| 9 | [JSON][json-org] is a lightweight data-interchange format. It can represent |
| 10 | numbers, strings, ordered sequences of values, and collections of name/value |
| 11 | pairs. |
| 12 | |
| 13 | [json-org]: http://json.org/ |
| 14 | |
| 15 | JsonCpp is a C++ library that allows manipulating JSON values, including |
| 16 | serialization and deserialization to and from strings. It can also preserve |
| 17 | existing comment in unserialization/serialization steps, making it a convenient |
| 18 | format to store user input files. |
| 19 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 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 | |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 29 | ## A note on backward-compatibility |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 30 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 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. |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 35 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 36 | ### Special note |
| 37 | The branch `00.11.z`is a new branch, its major version number `00` is to show that it is |
| 38 | different from `0.y.z` and `1.y.z`, the main purpose of this branch is to make a balance |
| 39 | between the other two branches. Thus, users can use some new features in this new branch |
| 40 | that introduced in 1.y.z, but can hardly applied into 0.y.z. |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 41 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 42 | ## Using JsonCpp in your project |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 43 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 44 | ### The vcpkg dependency manager |
| 45 | You can download and install JsonCpp using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 46 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 47 | git clone https://github.com/Microsoft/vcpkg.git |
| 48 | cd vcpkg |
| 49 | ./bootstrap-vcpkg.sh |
| 50 | ./vcpkg integrate install |
| 51 | ./vcpkg install jsoncpp |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 52 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 53 | 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](https://github.com/Microsoft/vcpkg) on the vcpkg repository. |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 54 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 55 | ### Amalgamated source |
| 56 | https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated) |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 57 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 58 | ### The Meson Build System |
| 59 | If 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`. |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 60 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 61 | ### Other ways |
| 62 | If you have trouble, see the [Wiki](https://github.com/open-source-parsers/jsoncpp/wiki), or post a question as an Issue. |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 63 | |
Haibo Huang | b0bee82 | 2021-02-24 15:40:15 -0800 | [diff] [blame] | 64 | ## License |
Derek Sollenberger | 2eb3b4d | 2016-01-11 14:41:40 -0500 | [diff] [blame] | 65 | |
| 66 | See the `LICENSE` file for details. In summary, JsonCpp is licensed under the |
| 67 | MIT license, or public domain if desired and recognized in your jurisdiction. |