在c語言中,我們可以使用json-c庫將json轉換成數組對象。首先,我們需要安裝json-c庫,可以在終端中輸入以下命令:
sudo apt-get install libjson-c-dev
接下來,我們需要在代碼中引入頭文件:
#include <json-c/json.h>
假設我們有以下json數據:
{ "name": "張三", "age": 20, "hobbies": [ "籃球", "游泳", "看電影" ] }
我們可以通過以下代碼將其轉換成數組對象:
char *json_str = "{\"name\":\"張三\",\"age\":20,\"hobbies\":[\"籃球\",\"游泳\",\"看電影\"]}"; json_object *json_obj = json_tokener_parse(json_str); json_object *name_obj = json_object_object_get(json_obj, "name"); json_object *age_obj = json_object_object_get(json_obj, "age"); json_object *hobbies_obj = json_object_object_get(json_obj, "hobbies"); int hobbies_len = json_object_array_length(hobbies_obj); const char *name = json_object_get_string(name_obj); int age = json_object_get_int(age_obj); char *hobbies[hobbies_len]; int i; for (i = 0; i < hobbies_len; i++) { json_object *hobby_obj = json_object_array_get_idx(hobbies_obj, i); hobbies[i] = (char *)json_object_get_string(hobby_obj); }
以上代碼中,我們首先將json字符串解析成json對象,然后通過json_object_object_get函數獲取name、age、hobbies三個屬性的json對象。接著,我們通過json_object_get_string和json_object_get_int分別獲取name和age的值。最后,我們遍歷hobbies數組,通過json_object_array_get_idx和json_object_get_string將其中的元素轉換成字符串數組。
這樣,我們就成功地將json轉換成了數組對象。