当先锋百科网

首页 1 2 3 4 5 6 7

使用C语言读取JSON格式文件是一项非常常见的任务。JSON是一种轻便的数据交换格式,易于使用和阅读。要读取JSON文件,您需要使用一个JSON库,如cJSON。

#include <stdio.h>
#include <cJSON.h>
int main() {
char *json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 从字符串中解析JSON
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("解析JSON失败\n");
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
printf("姓名:%s\n", name->valuestring);
printf("年龄:%d\n", age->valueint);
printf("城市:%s\n", city->valuestring);
// 释放JSON对象
cJSON_Delete(root);
return 0;
}

在上面的示例中,我们先定义了一个JSON字符串,然后使用cJSON_Parse函数将其解析为一个cJSON对象。接下来,我们使用cJSON_GetObjectItem函数获取JSON对象中的值,并使用valuestring和valueint成员获取字符串和整数值。最后,我们释放了cJSON对象,以避免内存泄漏。

如果您要从文件中读取JSON,而不是从字符串中读取,可以使用标准C文件I/O函数,如fopen和fread,从文件中读取JSON字符串,然后将其解析为JSON对象。然后,您可以使用类似上面示例的方法访问JSON对象中的值。