我有一个看起来像
的jsonObject{"Types":[{"Mtype":"text/plain","time":"Thus:24:32:02"},{"MtypeSec":"text/plain","time":"Thus:24:32:02"}]}
我想知道如何提取Mtype和时间?是Types
一个jsonArray ??
答案 0 :(得分:2)
看起来Types
是一个数组,但数组是Object
的子类,这就是IsObject()
返回true的原因。您应该在其上调用IsArray()
以查看它是否为数组。
正确的语法是document["Types"][0]["Mtype"].GetString()
,或者您可以使用以下内容迭代它:
for (SizeType i = 0; i < document["Types"].Size(); i++){
std::string strval;
if(document["Types"][i].hasMember("Mtype")){
strval = document["Types"][i]["Mtype"].GetString();
} else if(document["Types"][i].hasMember("mtypeSec")){
strval = document["Types"][i]["mtypeSec"].GetString();
} else if(document["Types"][i].hasMember("time")){
strval = document["Types"][i]["time"].GetString();
} else if(/*other member test*/){
//do something with other member
} else {
//base case, member not in the list of useful members
}
//do something useful with strval
....
}