使用jsoncpp在c ++中读取Json文件的根目录

时间:2018-06-14 00:57:54

标签: c++ json jsoncpp

文件:

{  
   "somestring":{  
      "a":1,
      "b":7,
      "c":17,
      "d":137,
      "e":"Republic"
   },
}

如何通过jsoncpp读取somestring值?

1 个答案:

答案 0 :(得分:0)

使用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";
}

这个简单的循环仅适用于值为字符串的属性。如果你想处理嵌套对象,比如在你的例子中,你需要使它递归,我将其作为练习留给读者。