在C語言中,訪問JSON文件通常需要借助一些外部庫,比如json-c和cJSON等。以下將介紹使用json-c庫來讀取JSON文件的方法。
// 引入json-c庫 #include "json-c/json.h" // 讀取JSON文件 void read_json_file(const char *filename) { // 打開文件 FILE *fp; fp = fopen(filename, "r"); if(fp == NULL) { printf("Failed to open file.\n"); return; } // 讀取文件內容 char buffer[1024]; fread(buffer, 1, 1024, fp); // 解析JSON struct json_object *json_obj = json_tokener_parse(buffer); // 獲取JSON屬性值 struct json_object *name; json_object_object_get_ex(json_obj, "name", &name); printf("Name: %s\n", json_object_get_string(name)); struct json_object *age; json_object_object_get_ex(json_obj, "age", &age); printf("Age: %d\n", json_object_get_int(age)); struct json_object *address; json_object_object_get_ex(json_obj, "address", &address); printf("Address: %s\n", json_object_get_string(address)); // 關閉文件 fclose(fp); } // 示例JSON文件:person.json // {"name": "Tom", "age": 18, "address": "Beijing"} int main() { read_json_file("person.json"); return 0; }
上面代碼中使用了json-c庫中的json_object_object_get_ex函數來訪問JSON屬性值。該函數的第一個參數是解析后的JSON對象,第二個參數是要獲取的屬性名字符串,第三個參數是指向獲取的屬性值的指針。在獲取屬性值后,可以使用json_object_get_X函數來獲取X類型的屬性值。
上一篇python 階乘計算器
下一篇python 陣列的值