在C語言中,我們可以使用第三方庫如Json-c來解析和保存JSON格式的文件。在使用過程中,我們需要進行如下步驟:
1. 安裝Json-c庫
可以從Github上下載源碼,并進行編譯和安裝。
git clone https://github.com/json-c/json-c.git
cd json-c
mkdir build
cd build
cmake ..
make
make install
2. 編寫代碼
下面是代碼示例:
#include <stdio.h>
#include <json-c/json.h>
int main() {
// 創建JSON對象
json_object *jobj = json_object_new_object();
// 添加鍵值對
json_object_object_add(jobj, "name", json_object_new_string("張三"));
json_object_object_add(jobj, "age", json_object_new_int(18));
json_object_object_add(jobj, "is_student", json_object_new_boolean(1));
// 將JSON對象保存到文件
FILE *fp = fopen("test.json", "w");
fprintf(fp, "%s", json_object_to_json_string(jobj));
fclose(fp);
// 從文件中讀取JSON對象
fp = fopen("test.json", "r");
char buffer[1024];
fread(buffer, 1024, 1, fp);
fclose(fp);
json_object *new_jobj = json_tokener_parse(buffer);
printf("%s\n", json_object_to_json_string(new_jobj));
return 0;
}
上面的代碼先創建了一個JSON對象,然后添加了一些鍵值對,并使用json_object_to_json_string將其轉換為字符串,最后將其保存到文件test.json中。
接著,代碼從文件test.json中讀取JSON對象,使用json_tokener_parse將字符串解析成JSON對象,并打印出來。
代碼中使用了兩個Json-c庫提供的函數:json_object_to_json_string和json_tokener_parse。
json_object_to_json_string將JSON對象轉換成字符串;json_tokener_parse將字符串轉換成JSON對象。
3. 編譯
使用gcc編譯代碼:
gcc -o test test.c -ljson-c
4. 運行
運行代碼,查看結果:
./test
運行結果如下:
{"name":"張三","age":18,"is_student":true}
至此,我們成功地將JSON對象保存到文件,并從文件中讀取JSON對象。