c语言读取json文件数据
时间: 2023-11-02 10:00:33 浏览: 465
C语言Json库
5星 · 资源好评率100%
要在C语言中读取JSON文件数据,你可以使用第三方库,如cJSON。以下是一个简单的示例代码,演示如何使用cJSON库读取JSON文件数据:
```c
#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main() {
// 打开JSON文件
FILE *fp = fopen("data.json", "r");
if (fp == NULL) {
printf("无法打开JSON文件\n");
return 1;
}
// 读取JSON数据到缓冲区
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
rewind(fp);
char *buffer = (char *)malloc(file_size + 1);
fread(buffer, 1, file_size, fp);
buffer[file_size] = '\0';
fclose(fp);
// 解析JSON数据
cJSON *json = cJSON_Parse(buffer);
if (json == NULL) {
printf("解析JSON数据失败\n");
free(buffer);
return 1;
}
// 获取JSON中的数据
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
// 打印获取到的数据
printf("名字: %s\n", name->valuestring);
printf("年龄: %d\n", age->valueint);
// 释放资源
cJSON_Delete(json);
free(buffer);
return 0;
}
```
请将上述代码保存到名为`json_reader.c`的文件中,并确保已将cJSON库头文件和库文件正确链接。这样,你就可以读取名为`data.json`的JSON文件,并获取其中的数据。
阅读全文