jsoncpp一个Value成员的iteraror

时间:2014-04-06 14:25:24

标签: c++ iterator jsoncpp

我将使用以下代码浏览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]}

1 个答案:

答案 0 :(得分: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();