{
"test": [1, "1111"]
}
格式如上所示,数组中不存放json对象,而是字符串或数字。通过调用cJSON_CreateString接口指定生成的json对象类型。
cJSON *root;
cJSON *Array;
cJSON *objId;
char *pStr = NULL;
root = cJSON_CreateObject();
Array = cJSON_CreateArray();
objId = cJSON_CreateNumber(1);
cJSON_AddItemToArray(Array, objId);
objId = cJSON_CreateString("1111");
cJSON_AddItemToArray(Array, objId);
cJSON_AddItemToObject(root, "test", Array);
pStr = cJSON_Print(root);
printf("json is:rn%srn", pStr);
解析的时候直接获取对象的sting
char *str = "{"test":["0100", "0200#2"]}";
cJSON *root;
cJSON *Array;
root = cJSON_Parse(str);
Array = cJSON_GetObjectItem(root, "test");
cJSON *childNode;
if((Array != NULL))
{
int arraySize = cJSON_GetArraySize(Array);
printf("arraySize %dn", arraySize);
int i;
for(i = 0; i < arraySize; i++)
{
childNode = cJSON_GetArrayItem(Array, i);
if(childNode == NULL) continue;
printf("childNode %sn", childNode->valuestring);
}
}
cJSON_Delete(root);



