淘先锋技术网

首页 1 2 3 4 5 6 7

在 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 对象数组。