cJSON字段不存在

问题描述 投票:0回答:1

我有一个JSON数组如下。我正在使用cJSON来解析它。但是,我想检查数组中是否存在字段。我尝试使用cJSON_GetObjectItem和cJSON_IsNull并将其返回值与NULL进行比较,以确定字段是否不存在。

但是,这似乎不起作用。是否有其他方法可以确定某个字段是否存在(例如:第二个子数组中不存在年龄)?

  "people":
   [
    {
        "name": "Mickey",
        "age": 7
    },

    {
       "name": "Susan"

    }
]
cjson
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.