c對接json數據庫是一種十分常見也十分方便的操作。json,即JavaScript對象標記,是一種輕量級的數據交換格式。在c語言中,使用第三方庫json-c來解析json數據。
#include <json-c/json.h> #include <stdio.h> int main(){ char *json_string = "{\"name\":\"Jack\",\"age\":20,\"score\":{\"english\":80,\"math\":90}}"; //解析json字符串 struct json_object *json_obj, *name_obj, *age_obj, *score_obj, *english_obj, *math_obj; json_obj = json_tokener_parse(json_string); //獲取name和age節點 json_object_object_get_ex(json_obj, "name", &name_obj); json_object_object_get_ex(json_obj, "age", &age_obj); //獲取score節點 json_object_object_get_ex(json_obj, "score", &score_obj); json_object_object_get_ex(score_obj, "english", &english_obj); json_object_object_get_ex(score_obj, "math", &math_obj); //輸出節點信息 printf("name: %s\n", json_object_get_string(name_obj)); printf("age: %d\n", json_object_get_int(age_obj)); printf("score: english=%d, math=%d\n", json_object_get_int(english_obj), json_object_get_int(math_obj)); //釋放json對象 json_object_put(json_obj); return 0; }
以上代碼可將json字符串解析成對應的json對象,其中json_tokener_parse函數可以將json字符串轉換成json對象。通過json_object_object_get_ex函數可以獲取對應節點的json對象,再通過json_object_get_***函數獲取該節點的值。
在實際使用中,我們可以將讀取的json數據存入c語言中的結構體中,便于后續操作。
上一篇python 算數平均值
下一篇python 算方程式