在 C 语言中,解析 JSON 对象数组并不是一件简单的事情。这篇文章将介绍如何使用 cJSON 库解析 JSON 对象数组。cJSON 是一个轻量级的开源库,能够快速解析和生成 JSON 数据。下面的代码演示了如何使用 cJSON 解析 JSON 对象数组。
#include#include "cJSON.h" int main() { const char *json_string = "[{\"name\":\"Tom\",\"age\":28}, {\"name\":\"Alice\",\"age\":24}]"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } cJSON *item = json->child; while (item != NULL) { printf("name=%s, age=%d\n", cJSON_GetObjectItem(item, "name")->valuestring, cJSON_GetObjectItem(item, "age")->valueint); item = item->next; } cJSON_Delete(json); return 0; }
上面的代码定义了一个 JSON 字符串,我们使用 cJSON_Parse 函数将其解析为 cJSON 对象。然后我们使用 cJSON_GetObjectItem 函数获取 JSON 对象数组中的每个元素,将其打印出来。
在该示例中,我们使用了 const char 类型的指针来存储 JSON 字符串。你也可以从文件中读取 JSON 字符串,然后使用 cJSON_Parse 函数将其解析为 cJSON 对象。
在使用 cJSON 库解析 JSON 对象数组时,你需要注意,它并不是一个平凡的事情。不过,如果你使用本文提供的示例程序,你应该能够解析 JSON 对象数组。