0
这是我的JSON对象:阅读每个对象的所有键 - 值对在阵列
{
"resources":[
{
"Foo":0,
"Bar":"",
"Fiz":1
},
{
"Foo":2,
"Bar":"",
"Fiz":3
}
]
}
上面JSON阵列resources
被正确地检测为array
。我想迭代数组中的每个对象,并将key:value
对添加到map
。
它确实检测到物体的数量(这里是:2)。 但如何迭代对象成员?有一个断言,数组中的每个元素都不是一个对象。我不懂为什么!
这里是我的代码:
if (jsonvalue->IsArray()){ // that jsonvalue is my "resources" array
for (rapidjson::SizeType i = 0; i < jsonvalue->Size(); i++){
const rapidjson::Value& c = jsonvalue[i];
// Is no object! assertion triggers in next call.
for (rapidjson::Value::ConstMemberIterator iter = c.MemberBegin(); iter != c.MemberEnd(); ++iter){
printf("%s\t", iter->name.GetString());
printf("%s\t", iter->value.GetString());
}
}
}