在c語言中,我們有時候需要讀取或生成json文件來交換數據或者做其他操作。下面我們來介紹一下在c語言中如何讀取和生成json文件。
讀取json文件
讀取json文件需要使用json-c這個庫,下面是一個簡單的讀取json文件的例子:
#include <stdio.h>#include <json-c/json.h>int main() { FILE* file = fopen("example.json", "r"); //打開文件 char buffer[1024]; struct json_object* root; fread(buffer, 1024, 1, file); //讀取文件內容到buffer中 root = json_tokener_parse(buffer); //將buffer解析成json對象 //使用json對象獲取數據 struct json_object* name; json_object_object_get_ex(root, "name", &name); printf("name: %s\n", json_object_get_string(name)); fclose(file); return 0; }
上面的例子中,我們首先打開文件并讀取文件內容到buffer中,然后使用json_tokener_parse函數將buffer解析成json對象。接著我們可以使用json_object_object_get_ex函數獲取json對象中的屬性值。
生成json文件
生成json文件同樣需要使用json-c這個庫。下面是一個簡單的生成json文件的例子:
#include <stdio.h>#include <json-c/json.h>int main() { struct json_object* root = json_object_new_object(); //創建json對象 json_object_object_add(root, "name", json_object_new_string("Tom")); //添加屬性 json_object_object_add(root, "age", json_object_new_int(20)); //添加屬性 FILE* file = fopen("example.json", "w"); //打開或創建文件 fwrite(json_object_to_json_string(root), strlen(json_object_to_json_string(root)), 1, file); //將json對象轉換成字符串并寫入文件 fclose(file); return 0; }
上面的例子中,我們首先創建了一個json對象root,并向其中添加了兩個屬性,然后使用json_object_to_json_string函數將json對象轉換成字符串,并將字符串寫入文件。
上一篇vue bar官網
下一篇c 讀json數據組