皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

JSON for Modern C++ 3.2.0 发布,C++ JSON 库

JSON for Modern C++ 3.2.0 已发布,此版本引入了 SAX 接口。虽然这可能只是少数人使用的一个非常特殊的功能,但它允许统一所有消耗输入并创建某种 JSON 值的函数。

此外,新版支持从宽字符串类型进行解析。这是将库从 UTF-8 向 UTF-16 和 UTF-32 支持的第一步。

部分更新如下

新特性

  • added a parser with a SAX interface (#971#1153)
  • support to parse from wide string types std::wstringstd::u16string, and std::u32string; the input will be converted to UTF-8 (#1031)
  • added support for std::string_view when using C++17 (#1028)
  • allow to roundtrip std::map and std::unordered_map from JSON if key type is not convertible to string; in these cases, values are serialized to arrays of pairs (#1079#1089#1133#1138)

Bug 修复

  • allow to create nullptr_t from JSON allowing to properly roundtrip null values (#1169)
  • allow compare user-defined string types (#1130)
  • better support for algorithms using iterators from items() (#1045#1134)
  • added parameter to avoid compilation error with MSVC 2015 debug builds (#1114)
  • re-added accidentially skipped unit tests (#1176)
  • fixed MSVC issue with std::swap (#1168)

改进

  • key() function for iterators returns a const reference rather than a string copy (#1098)
  • binary formats CBOR, MessagePack, and UBJSON now supports float as type for floating-point numbers (#1021)

详细发布说明和下载地址 https://github.com/nlohmann/json/releases/tag/v3.2.0

JSON for Modern C++ 是一个由德国大牛 nlohmann 编写的在 C++ 下使用的 JSON 库。

具有以下特点

  • 直观的语法
  • 整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便
  • 使用 C++ 11 标准编写
  • 使用 json 像使用 STL 容器一样
  • STL 和 json 容器之间可以相互转换
  • 严谨的测试:所有类都经过严格的单元测试,覆盖了 100% 的代码,包括所有特殊的行为。此外,还检查了 Valgrind 是否有内存泄漏。为了保持高质量,该项目遵循核心基础设施倡议(CII)的最佳实践

转自 https://www.oschina.net/news/99295/json-hpp-3-2-0-released