json解析数组
新项目中需要解析json中的数组,示例代码如下:
CString ss="{\"ack\":4,\"message\":\"PackingStation success\",\"method\":\"PackingStation\",\"noPass\":0,\"pass
\":0,\"result\":{\"count\":20,\"imeis\":[\"862075031460339\",\"862075031460347\",\"862075031460354\",
\"862075031460362\",\"862075031460370\",\"862075031460388\"]},\"status\":200,\"time\":1495593723438}";
CStringArray imeiArray;
imeiArray.RemoveAll();
char sss[1024];memset(sss,0,1024);
strcpy(sss,ss6);
Json::Reader reader;
Json::Value root;
Json::Value arr_value;//(Json::arrayValue)
if (reader.parse(sss, root))
{
int ack_num = root["ack"].asInt();
int iPassNum= root["pass"].asInt();
Json::Value val_result = root["result"];
if(!val_result["imeis"].isNull())
{
for (int nIndex = 0; nIndex < val_result["imeis"].size(); nIndex++)
{
CString strIMEITemp= val_result["imeis"][nIndex].asCString();
imeiArray.Add(strIMEITemp);
}
}
}
IMEI的内容全部存储在字符串数组imeiArray,然后可以通过遍历这个字符串数组来访问imei列表内容。
还没有评论,来说两句吧...