JsonCpp:如何在 Json::Value 中获取空对象?
JsonCpp: How to get en empty object in a Json::Value?
我有一个接收 Json::Value
作为参数的外部库。然后它将输出一个包含 JSON 结构的字符串,我在该结构的某处传递了 Json::Value
。
我正在尝试将空对象 {}
放入 Json::Value
和 JsonCpp。
最终我试图从包含 "{}"
的 std::string
中解析那个空的 JSON 对象,我需要在 Json::Value
.
当我声明一个 Json::Value
并且不对其进行任何操作并将其传递到我的库时,我得到 NULL
而不是 {}
...
样本:
Json::Value root;
Json::Reader reader;
reader.parse("{}", root);
assert(root != Json::nullValue);
std::string someStr = Json::FastWriter().write(root);
assert(someStr == "{}\n");
所有断言都通过了,因此解析后的对象没有空值,当您将其写回字符串时,您会得到空对象 "{}"
。这对你不起作用吗?
这可能对某人有帮助:
在当前版本中。我正在使用 - 1.8.2,你可以得到这样的空对象:
Json::Value root;
root = Json::objectValue;
我有一个接收 Json::Value
作为参数的外部库。然后它将输出一个包含 JSON 结构的字符串,我在该结构的某处传递了 Json::Value
。
我正在尝试将空对象 {}
放入 Json::Value
和 JsonCpp。
最终我试图从包含 "{}"
的 std::string
中解析那个空的 JSON 对象,我需要在 Json::Value
.
当我声明一个 Json::Value
并且不对其进行任何操作并将其传递到我的库时,我得到 NULL
而不是 {}
...
样本:
Json::Value root;
Json::Reader reader;
reader.parse("{}", root);
assert(root != Json::nullValue);
std::string someStr = Json::FastWriter().write(root);
assert(someStr == "{}\n");
所有断言都通过了,因此解析后的对象没有空值,当您将其写回字符串时,您会得到空对象 "{}"
。这对你不起作用吗?
这可能对某人有帮助: 在当前版本中。我正在使用 - 1.8.2,你可以得到这样的空对象:
Json::Value root;
root = Json::objectValue;