在C語言中,我們可以使用json-c庫將JSON格式的數據轉換為數組。下面是一個簡單的例子:
#include#include int main() { // 創建JSON對象 struct json_object *jobj = json_object_new_object(); // 添加鍵值對 json_object_object_add(jobj, "name", json_object_new_string("Tom")); json_object_object_add(jobj, "age", json_object_new_int(20)); json_object_object_add(jobj, "gender", json_object_new_string("male")); // 轉換為JSON字符串 const char *json_str = json_object_to_json_string(jobj); printf("JSON字符串:%s\n", json_str); // 解析JSON字符串為數組 struct json_object *jarr; json_tokener *tokener = json_tokener_new(); jarr = json_tokener_parse_ex(tokener, json_str, strlen(json_str)); json_tokener_free(tokener); // 遍歷數組 int len = json_object_array_length(jarr); for (int i = 0; i< len; i++) { struct json_object *element = json_object_array_get_idx(jarr, i); printf("元素[%d]類型:%s\n", i, json_type_to_name(json_object_get_type(element))); } json_object_put(jobj); json_object_put(jarr); return 0; }
在上面的例子中,我們首先創建了一個JSON對象jobj,并添加了三個鍵值對。然后使用json_object_to_json_string函數將其轉換為JSON字符串。接著,我們使用json_tokener_parse_ex函數將JSON字符串解析為數組jarr,并使用json_object_array_length和json_object_array_get_idx函數遍歷數組中的元素。
需要注意的是,在使用完JSON對象和數組之后,需要調用json_object_put函數釋放相應的內存空間。
上一篇c 把json字符串拼接
下一篇python 監聽 U盤