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

时间:2015-04-24 15:11:26

标签: c++ jsoncpp

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

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

最终我正在尝试从包含std::string的{​​{1}}解析该空JSON对象,我需要"{}"中的那个。

当我声明Json::Value并对其执行任何操作并将其传递到我的库时,我会Json::Value而不是NULL ...

2 个答案:

答案 0 :(得分:4)

样品:

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

所有断言都通过,因此解析后的对象没有空值,当您将其写回字符串时,您将获得空对象"{}"。这不适合你吗?

答案 1 :(得分:3)

对某人有用: 在目前的版本。我正在使用 - 1.8.2,你可以得到像这样的空对象:

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