在c語言開發(fā)中,常常需要調(diào)用外部的接口獲取數(shù)據(jù),而接口常常會(huì)返回json格式的數(shù)據(jù)。為了處理json數(shù)據(jù),我們需要使用c api來完成這項(xiàng)任務(wù)。
// 第一步,引入json頭文件 #include "json-c/json.h" // 第二步,解析json數(shù)據(jù) char *json_str = "{\"name\":\"Tom\", \"age\":20}"; struct json_object *json_obj = json_tokener_parse(json_str); // 第三步,獲取json對(duì)象的值 struct json_object *name_obj; json_object_object_get_ex(json_obj, "name", &name_obj); char *name = (char *)json_object_get_string(name_obj); struct json_object *age_obj; json_object_object_get_ex(json_obj, "age", &age_obj); int age = json_object_get_int(age_obj); // 最后,釋放內(nèi)存 json_object_put(json_obj);
上述代碼中,首先需要引入json頭文件,然后使用json_tokener_parse函數(shù)解析json字符串。解析完后,通過json_object_object_get_ex函數(shù)獲取相應(yīng)的json對(duì)象并獲取其值。最后,別忘了釋放內(nèi)存。