色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 中轉換json字符串數組中

錢衛國1年前8瀏覽0評論

在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對象數組進行操作,如獲取其中的值、修改值等。