在C語言中,將JSON數組轉換為對象可以使用JSON-C庫。JSON-C庫是用于解析和生成JSON數據的C庫。
#include<stdio.h> #include<json-c/json.h> int main() { char *json_string = "[{\"name\":\"Tom\", \"age\":20}, {\"name\":\"Jerry\", \"age\":22}]"; struct json_object *json_obj, *json_array, *json_obj_1, *json_obj_2; json_obj = json_tokener_parse(json_string); // 將json字符串解析為json對象 json_array = json_object_get(json_obj); // 獲取json對象中的json數組 for(int i = 0; i < json_object_array_length(json_array); i++) // 遍歷json數組 { json_obj_1 = json_object_array_get_idx(json_array, i); // 獲取json數組中的json對象 json_object_object_get_ex(json_obj_1, "name", &json_obj_2); // 根據key獲取json對象中的value printf("name: %s ", json_object_get_string(json_obj_2)); json_object_object_get_ex(json_obj_1, "age", &json_obj_2); printf("age: %d\n", json_object_get_int(json_obj_2)); } return 0; }
以上代碼將json字符串解析為json對象,獲取其中的json數組,并在遍歷json數組時,根據key獲取json對象中的value。