大家好,请教一个cJSON的问题:
我要解析以下的cJSON:
{"devId":"YJDC65006484", "txnNo":"1579071697065", "msgType":500, "paramList":[ {"devId":"YJDC84022546","id":"05201001","value":0}, {"devId":"YJDC84022546","id":"05011001","value":"24935711"}, {"devId":"YJDC84022546","id":"05013001","value":9345}]}
我的代码如下:
cJSON *json;
//char *out;
json = cJSON_Parse( text ); //
if(json == NULL)
printf("json fmt error:%s\n.", cJSON_GetErrorPtr());
else{
cJSON *object = cJSON_GetObjectItem(json, "paramList");
cJSON *item = cJSON_GetObjectItem(json, "msgType");
printf("msgType: %d\n", item->valueint);
item = cJSON_GetObjectItem(json, "txnNo");
printf("txnNo: %d\n", item->valueint);
item = cJSON_GetObjectItem(json, "devId");
printf("devId: %s\n", item->valuestring);
item = cJSON_GetObjectItem(object, "devId");
printf("paramList->devId: %s\n", item->valuestring);
item = cJSON_GetObjectItem(object, "id");
printf("paramList->id: %s\n", item->valuestring);
item = cJSON_GetObjectItem(object, "value");
printf("paramList->value: %d\n", item->valueint);
cJSON_Delete(json);
}
目前能正常解析出:
msgType、txnNo、 devId,但是无法解析出paramList->devId、 paramList->id、 paramList->value
如下图:
还有想解析出paramList下面的三个,代码该怎么实现?
|