open-source-parsers/jsoncpp

GitHub: open-source-parsers/jsoncpp

一个成熟稳定的C++ JSON库,支持带注释JSON的序列化与反序列化。

Stars: 8830 | Forks: 2736

# JsonCpp [![Conan Center](https://img.shields.io/conan/v/jsoncpp)](https://conan.io/center/recipes/jsoncpp) [![badge](https://img.shields.io/badge/license-MIT-blue)](https://github.com/open-source-parsers/jsoncpp/blob/master/LICENSE) [![badge](https://img.shields.io/badge/document-doxygen-brightgreen)](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html) [![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) [JSON][json-org] 是一种轻量级的数据交换格式。它可以表示数字、字符串、有序的值序列以及名称/值对集合。 JsonCpp 是一个 C++ 库,允许操作 JSON 值,包括与字符串之间的序列化和反序列化。它还可以在反序列化/序列化步骤中保留现有注释,使其成为存储用户输入文件的便捷格式。 ## 项目状态 JsonCpp 是一个处于维护模式的成熟项目。我们的首要任务是为长期存在的 C++ 开发提供一个稳定、可靠的 JSON 库。 ### 当前重点 * **安全性:** 解决漏洞和模糊测试结果。 * **兼容性:** 确保库在最新版本的 GCC、Clang 和 MSVC 上构建时无警告。 * **可靠性:** 修复回归问题和关键逻辑错误。 ### 范围之外 * **性能:** 我们不与 SIMD 加速或基于反射的解析器竞争。 * **功能:** 我们通常不接受新数据格式或主要 API 更改的请求。 对于需要注释保留以及支持无法使用现代 C++ 标准的旧版工具链的开发人员来说,JsonCpp 仍然是首选。该库旨在成为一个可靠的依赖项,不需要频繁更新或大量的迁移工作。 ## 关于向后兼容性的说明 * **`1.y.z` (master):** 积极维护。需要 C++11。 * **`0.y.z`:** 对 C++11 之前编译器的旧版支持。维护仅限于关键安全修复。 * **`00.11.z`:** 已停止维护。 主要版本保持二进制兼容性。`master` 和 `0.y.z` 分支均接受关键安全修复。 ## 集成 ### vcpkg 将 `jsoncpp` 添加到您的 `vcpkg.json` 清单中: ``` { "dependencies": ["jsoncpp"] } ``` 或者通过经典模式安装:`vcpkg install jsoncpp`。 ### Conan ``` conan install --requires="jsoncpp/[*]" --build=missing ``` 如果您在 Conan 2 项目中使用 `conanfile.txt`,请确保使用适当的生成器: ``` [requires] jsoncpp/[*] [generators] CMakeToolchain CMakeDeps ``` ### Meson ``` meson wrap install jsoncpp ``` ### 合并源代码 对于需要单头文件方法的项目,请参阅 [Wiki 条目](https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)。 ## 文档 文档通过 [Doxygen](http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html) 生成。 更多信息可在 [项目 Wiki](https://github.com/open-source-parsers/jsoncpp/wiki) 上找到。 ## 许可证 JsonCpp 根据 MIT 许可证授权,或在被承认的领域属于公共领域。 有关详细信息,请参阅 [LICENSE](./LICENSE)。
标签:Bash脚本, C++, Clang, GCC, JSON, MIT许可, MSVC, 反序列化, 后端开发, 嵌入式开发, 序列化, 库, 应急响应, 开源, 数据交换, 数据擦除, 文件解析, 注释保留, 解析器, 预握手