cJSON数组中如何直接插入字符串或数字,而不是cJSON对象
cJSON
Ultralightweight JSON parser in ANSI C
项目地址:https://gitcode.com/gh_mirrors/cj/cJSON
免费下载资源
·
{
"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:\r\n%s\r\n", 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 %d\n", arraySize);
int i;
for(i = 0; i < arraySize; i++)
{
childNode = cJSON_GetArrayItem(Array, i);
if(childNode == NULL) continue;
printf("childNode %s\n", childNode->valuestring);
}
}
cJSON_Delete(root);
GitHub 加速计划 / cj / cJSON
10.45 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:2 个月前 )
424ce4ce
This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6.
Related to #860
4 个月前
32497300 - 5 个月前
更多推荐
已为社区贡献7条内容
所有评论(0)