在C語(yǔ)言中獲取JSON格式數(shù)據(jù)的值,需要使用json-c庫(kù)來(lái)解析JSON格式,具體步驟如下:
// 首先需要包含json-c庫(kù)的頭文件 #include// 定義JSON格式數(shù)據(jù) const char *json_str = "{\"name\":\"Tom\",\"age\":18}"; // 解析JSON格式數(shù)據(jù) json_object *json_obj = json_tokener_parse(json_str); // 獲取JSON數(shù)據(jù)的值 json_object *name_obj = NULL; json_object *age_obj = NULL; json_object_object_get_ex(json_obj, "name", &name_obj); json_object_object_get_ex(json_obj, "age", &age_obj); // 將JSON數(shù)據(jù)的值轉(zhuǎn)化為對(duì)應(yīng)的C類型數(shù)據(jù) const char *name = json_object_get_string(name_obj); int age = json_object_get_int(age_obj); // 釋放json_obj內(nèi)存 json_object_put(json_obj);
解析JSON格式數(shù)據(jù)的過(guò)程中,首先需要調(diào)用json_tokener_parse函數(shù)將JSON格式字符串轉(zhuǎn)化為json_object對(duì)象,然后通過(guò)調(diào)用json_object_object_get_ex函數(shù)獲取對(duì)象中的值,最后通過(guò)json_object_get_xxx函數(shù)將值轉(zhuǎn)換為對(duì)應(yīng)的C類型數(shù)據(jù)。
總體來(lái)說(shuō),使用json-c庫(kù)可以方便地在C語(yǔ)言中獲取JSON格式數(shù)據(jù)的值。