JsonCpp:如何在 Json::Value 中获取 en 空对象

JsonCpp: How to get en empty object in a Json::Value?

本文关键字:获取 en 对象 Json JsonCpp Value      更新时间:2023-10-16

我有一个外部库,它接收Json::Value作为参数。然后它将输出一个包含 JSON 结构的字符串,其中包含我传递Json::Value该结构中的某个位置。

我正在尝试使用 JsonCpp 将一个空对象{}放入该Json::Value中。

最终,我正在尝试从包含"{}"std::string中解析该空 JSON 对象,我需要在Json::Value中使用它。

当我声明一个Json::Value并且对它不执行任何操作并将其传递给我的库时,我得到的是NULL而不是{}......

它可能对某人有所帮助:在我正在使用的当前版本 - 1.8.2 中,您可以像这样获得空对象:

Json::Value root;
root = Json::objectValue;

示例:

Json::Value root;
Json::Reader reader;
reader.parse("{}", root);
assert(root != Json::nullValue);
std::string someStr = Json::FastWriter().write(root);
assert(someStr == "{}n");

所有断言都会传递,因此解析的对象没有 null 值,当您将其写回字符串时,您会"{}"返回空对象。这对你不起作用吗?