使用 jsoncpp 在 C++ 中读取 Json 文件的根目录
Reading Json file's root in c++ with jsoncpp
文件:
{
"somestring":{
"a":1,
"b":7,
"c":17,
"d":137,
"e":"Republic"
},
}
如何通过 jsoncpp 读取字符串值?
使用getMemberNames()
方法。
Json::Value root;
root << jsonString;
Json::Value::Members propNames = root.getMemberNames();
std::string firstProp = propNames[0];
std::cout << firstProp << '\n'; // should print somestring
如果您想查看所有属性,可以使用迭代器遍历它:
for (auto it: propNames) {
cout << "Property: " << *it << " Value: " << root[*it].asString() << "\n";
}
这个简单的循环只适用于值为字符串的属性。如果您想处理嵌套对象,就像在您的示例中一样,您需要使其递归,我将其作为 reader.
的练习。
文件:
{
"somestring":{
"a":1,
"b":7,
"c":17,
"d":137,
"e":"Republic"
},
}
如何通过 jsoncpp 读取字符串值?
使用getMemberNames()
方法。
Json::Value root;
root << jsonString;
Json::Value::Members propNames = root.getMemberNames();
std::string firstProp = propNames[0];
std::cout << firstProp << '\n'; // should print somestring
如果您想查看所有属性,可以使用迭代器遍历它:
for (auto it: propNames) {
cout << "Property: " << *it << " Value: " << root[*it].asString() << "\n";
}
这个简单的循环只适用于值为字符串的属性。如果您想处理嵌套对象,就像在您的示例中一样,您需要使其递归,我将其作为 reader.
的练习。