使用 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.

的练习。