C JSON對象數組取值
在C語言中,使用json-c庫來處理JSON數據,需要取出JSON對象數組中的值時,可以借助json_object_array_get_idx函數來實現。
json_object *jobj; // 聲明一個JSON對象 json_object *jarr; // 聲明一個JSON對象數組 json_object *jval; // 聲明一個JSON對象值 // 從字符串中解析JSON數據,得到JSON對象 jobj = json_tokener_parse(str); // 從JSON對象中取出JSON對象數組 json_object_object_get_ex(jobj, "arr", &jarr); // 取出JSON對象數組中下標為0的值 jval = json_object_array_get_idx(jarr, 0); // 從JSON對象值中取出字符串值 const char* valstr = json_object_get_string(jval);
以上代碼通過json_object_array_get_idx函數,從JSON對象數組中取出值,并用json_object_get_string函數獲取字符串值。
對于JSON對象數組中的多個值,只需要多次調用json_object_array_get_idx函數即可。需要注意的是,獲取值時需要先確定值的類型,以便選擇恰當的獲取函數。