JSON是一種輕量級的數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)傳輸。C語言中可以使用第三方庫json-c來讀寫JSON文件。
首先,需要在程序中包含json-c庫的頭文件。
#include <json-c/json.h>
接著,可以使用以下代碼讀取JSON文件:
/* 定義JSON文件的路徑 */ char* json_path = "/path/to/json/file.json"; /* 打開JSON文件 */ FILE* fp = fopen(json_path, "r"); /* 將JSON文件內(nèi)容讀取到緩沖區(qū) */ char buffer[1024]; fread(buffer, 1, 1024, fp); /* 解析JSON并存儲為json_object類型 */ struct json_object* jobj = json_tokener_parse(buffer);
如果要從JSON文件中讀取特定的值,可以使用以下代碼:
/* 獲取JSON中的值 */ struct json_object* value; json_object_object_get_ex(jobj, "key", &value); int result = json_object_get_int(value);
如果要將數(shù)據(jù)寫入JSON文件,可以使用以下代碼:
/* 創(chuàng)建json_object類型 */ struct json_object* jobj = json_object_new_object(); /* 向jobj添加鍵值對 */ json_object_object_add(jobj, "key1", json_object_new_int(1)); json_object_object_add(jobj, "key2", json_object_new_string("value")); /* 將jobj中的內(nèi)容寫入JSON文件 */ FILE* fp = fopen(json_path, "w"); fprintf(fp, "%s", json_object_to_json_string(jobj)); fclose(fp);
寫入JSON文件時,也可以使用json_object_to_file函數(shù)直接將內(nèi)容寫入文件,如下:
json_object_to_file(json_path, jobj);