0

我正在使用以下代码浏览一个 json 文件:

for (itr = root.begin(); itr != root.end(); itr++){ cout<< "Key: "<<itr.key().toStyledString() << endl;}

我找到了该对象的所有成员,但最后程序崩溃了。我认为迭代器试图移动到对象的末尾之外,但我不确定。我在许多示例中找到了这段代码,所以我认为它应该可以正常工作。我的错误在哪里?这是我要阅读的文件:

{"lon": [10.6635,10.664510],"lat": [44.144,44.1450101],"range": [0,10.1010101,20.2020202]}
4

1 回答 1

1

这个完整的代码示例对我来说很好:

Json::Value root(Json::objectValue);
Json::Reader reader;
reader.parse("{\"lon\": [10.6635,10.664510],\"lat\": [44.144,44.1450101],\"range\": [0,10.1010101,20.2020202]}", root, false);

std::string output;
for (Json::ValueIterator itr = root.begin(); itr != root.end(); itr++)
    output += "Key: " + itr.key().toStyledString();
于 2014-06-05T07:12:20.753 回答