C语言使用cjson库写入json文件代码
时间: 2024-10-09 12:11:28 浏览: 60
在C语言中,使用cJSON库可以方便地处理JSON数据并将其写入文件。首先,你需要包含必要的头文件,并初始化库。以下是写入JSON文件的一个简单示例:
```c
#include "cJSON.h"
#include <stdio.h>
#include <string.h>
// 示例JSON数据结构
typedef struct {
const char *name;
int age;
} Person;
void write_json_to_file(const cJSON *root, const char *filename) {
FILE *file = fopen(filename, "w");
if (!file) {
printf("Error opening file %s\n", filename);
return;
}
// 将 cJSON 树转换为字符串
char *json_string = cJSON_Print(root);
if (json_string == NULL) {
printf("Error converting JSON to string\n");
fclose(file);
return;
}
// 写入文件
fprintf(file, "%s", json_string);
// 清理内存
free(json_string);
// 关闭文件
fclose(file);
}
int main() {
// 创建一个Person对象
Person person = {"John Doe", 30};
// 使用cJSON创建JSON树
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", person.name);
cJSON_AddNumberToObject(root, "age", person.age);
// 将JSON树写入文件
write_json_to_file(root, "person.json");
// 清理cJSON
cJSON_Delete(root);
return 0;
}
```
在这个例子中,我们首先创建了一个`Person`结构体和一个空的对象作为根。然后添加了一些键值对到这个对象中,最后将整个JSON对象写入名为"person.json"的文件。
注意,记得在项目中包含cJSON库,通常通过`git clone`或者直接下载源码并在编译时链接到你的项目中。
阅读全文