0

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

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

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

    {
       "name": "Susan"

    }
]
4

1 回答 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);
于 2019-03-18T07:02:42.180 回答