使用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对象中的值。