cjson解读json文件
时间: 2024-01-18 17:17:39 浏览: 153
cJSON是一个轻量级的JSON解析器和生成器,它可以用于解析和生成JSON数据。下面是使用cJSON解析JSON文件的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
// 读取JSON文件内容
FILE *file = fopen("example.json", "r");
if (file == NULL) {
printf("Failed to open JSON file.\n");
return 1;
}
fseek(file, 0, SEEK_END);
long fileSize = ftell(file);
fseek(file, 0, SEEK_SET);
char *jsonData = (char *)malloc(fileSize + 1);
fread(jsonData, 1, fileSize, file);
jsonData[fileSize] = '\0';
fclose(file);
// 解析JSON数据
cJSON *root = cJSON_Parse(jsonData); if (root == NULL) {
printf("Failed to parse JSON data.\n");
return 1;
}
// 获取JSON结点的值
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
// 释放内存
cJSON_Delete(root);
free(jsonData);
return 0;
}
```
上述代码首先打开一个JSON文件,然后读取文件内容并解析为cJSON对象。接下来,我们可以使用`cJSON_GetObjectItem`函数根据键获取JSON结点的值。最后,我们打印出获取到的值,并在程序结束时释放内存。
阅读全文