linux 根据路径读取json文件数据
时间: 2023-10-26 15:21:45 浏览: 156
你可以使用cJSON库来读取JSON文件的数据。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
char *filename = "/path/to/file.json";
FILE *f = fopen(filename, "rb");
if (!f) {
printf("Failed to open file: %s\n", filename);
return 1;
}
fseek(f, 0, SEEK_END);
long file_size = ftell(f);
fseek(f, 0, SEEK_SET);
char *json_data = (char*)malloc(file_size + 1);
fread(json_data, 1, file_size, f);
fclose(f);
cJSON *root = cJSON_Parse(json_data);
if (!root) {
printf("Failed to parse JSON data.\n");
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name) {
printf("Name: %s\n", name->valuestring);
}
cJSON *age = cJSON_GetObjectItem(root, "age");
if (age) {
printf("Age: %d\n", age->valueint);
}
cJSON_Delete(root);
free(json_data);
return 0;
}
```
在上面的代码中,我们首先打开指定的JSON文件,然后读取文件的内容。我们使用cJSON_Parse()函数将JSON数据转换为cJSON对象,并使用cJSON_GetObjectItem()函数获取指定的JSON对象。最后,我们使用cJSON_Delete()函数释放cJSON对象,并使用free()函数释放文件数据的内存。
阅读全文