在C語言中操作json字符串數組的時候,我們需要考慮如何實現字符串與json對象之間的轉換。在本文中,我們將介紹如何使用C語言將json字符串數組轉換為json對象數組。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { const char *json_str = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jerry\",\"age\":23}]"; json_t *json; json_error_t error; json_t *json_obj; int i; json = json_loads(json_str, 0, &error); if(!json) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } if(!json_is_array(json)) { printf("error: json data is not an array\n"); return 1; } for(i = 0; i < json_array_size(json); i++) { json_obj = json_array_get(json, i); printf("Object %d\n", i); printf(" Name: %s\n", json_string_value(json_object_get(json_obj, "name"))); printf(" Age: %d\n", (int)json_integer_value(json_object_get(json_obj, "age"))); } json_decref(json); return 0; }
上面的代碼中,我們使用了jansson庫來解析json字符串,并將字符串轉換成了json對象的數組。我們先判斷解析后的json數據是否是一個數組類型,然后使用json_array_size函數返回數組的大小,再用json_array_get獲取數組中的json對象,并使用json_object_get函數獲取json對象中的鍵值對。
轉換成功后,我們可以對轉換后的json對象數組進行操作,如獲取其中的值、修改值等。
上一篇python 服波那契
下一篇c 從服務器獲取json