我們可以使用c語言中的庫文件來讀取和解析json格式的數據,其中一個實用的庫文件是Jansson。Jansson庫提供了一個簡單易用的接口,允許我們在c語言中讀取和操作json哈希表。
接下來將介紹Jansson庫的使用方法:
#includeint main() { //先定義一個json_t類型的變量,對其進行初始化 json_t *root; json_error_t error; //打開文件,加載json數據 root = json_load_file("data.json", 0, &error); //判斷讀取文件是否成功 if(!root) { printf("Error: on line %d: %s\n", error.line, error.text); return 1; } //從json哈希表中讀取數據 json_t *name = json_object_get(root, "name"); json_t *age = json_object_get(root, "age"); //將數據轉換成對應的數據類型 const char *nameStr = json_string_value(name); int ageInt = json_integer_value(age); //輸出讀取到的數據 printf("Name: %s\nAge: %d\n", nameStr, ageInt); //釋放json_t變量并退出程序 json_decref(root); return 0; }
其中,json_load_file函數將自動讀取json格式的文件,并將json數據加載到json_t類型的變量中,如果文件不存在或格式不正確,將返回一個空的json_t變量。
使用json_object_get函數可以從json_t類型中讀取特定的數據,此函數將返回一個指向json_t結構的指針,我們可以通過json_string_value或json_integer_value函數將其轉換成相應的數據類型。
最后,當我們完成從json哈希表中讀取數據后,需要調用json_decref函數釋放json_t類型的變量。
上一篇c 鍵值對 轉json