我有一个JSON数组如下。我正在使用cJSON来解析它。但是,我想检查数组中是否存在字段。我尝试使用cJSON_GetObjectItem和cJSON_IsNull并将其返回值与NULL进行比较,以确定字段是否不存在。
但是,这似乎不起作用。是否有其他方法可以确定某个字段是否存在(例如:第二个子数组中不存在年龄)?
"people":
[
{
"name": "Mickey",
"age": 7
},
{
"name": "Susan"
}
]
要检查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);