cJSON字段不存在

时间:2018-07-18 04:57:28

标签: cjson

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

但是,这似乎不起作用。还有其他方法来找出是否存在字段(例如:第二个子数组中不存在年龄)吗?

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

    {
       "name": "Susan"

    }
]

1 个答案:

答案 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);