我有一个JSON数组,如下所示。我正在使用cJSON解析它。但是,我想检查数组中是否存在字段。我尝试使用cJSON_GetObjectItem和cJSON_IsNull并将其返回值与NULL进行比较,以确定某个字段是否不存在。
但是,这似乎不起作用。还有其他方法来找出是否存在字段(例如:第二个子数组中不存在年龄)吗?
"people":
[
{
"name": "Mickey",
"age": 7
},
{
"name": "Susan"
}
]
答案 0 :(得分:0)
要检查json中的键是否存在,可以执行以下操作:
cJSON *name=cJSON_GetObjectItem(root,"name");
cJSON *age=cJSON_GetObjectItem(root,"age");
if (name) printf("name: %s\n",name->valuestring);
if (age) printf("age: %s\n", age->valuestring);