JSON for Modern C++ 3.6.0 发布了,此版本为 JSON 指针添加了一些便利功能,引入了一个 contains 函数来检查键是否存在于对象中,并提高了整型序列化的性能。此外,还带来一些改进与 bug 修复。
所有更改都是向后兼容的。
具体更新内容如下:
新特性
- 使用 operator/ 和 operator/= 简化了 JSON 指针的创建,可以使用 empty、back 和 parent_pointer 检查 JSON 指针,并使用 push_back 和 pop_back 进行操作。
- 添加了一个布尔方法 contains,用于检查元素是否存在于具有给定键的 JSON 对象中。在非对象类型上调用时返回 false。
bug 修复
- 修复了 libc 2.12 的编译问题
- 修复 PPC64 上的字节序转换
- 修复 GCC 9 编译的相关库
- 修复了 CentOS 上 GCC 7 的编译问题
- 修复了整型溢出问题
- 修复了序列化器中的缓冲区刷新问题
改进
- 转储整型的性能得到了极大提高
- 添加了 CMake 参数 JSON_Install 来控制是否安装库
- 修复了一些编译器和 linter 警告
- 将所需的 CMake 版本从 3.8 降到 3.1
- 将 nodiscard 属性添加到 meta()、array()、object()、from_cbor、from_msgpack、from_ubjson、from_bson 和 parse 中。
详情查看