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

c語言json轉列表

老白2年前7瀏覽0評論

C語言是一種通用型的編程語言,廣泛應用于各種領域。隨著信息量的增長,JSON已經成為了一種非常常見的數據格式。本文將介紹如何在C語言中將JSON字符串轉換為列表。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char *json_str = "{\"name\":\"張三\",\"age\":20,\"score\":[80,90,100]}";
json_error_t error;
json_t *json_obj = json_loads(json_str, 0, &error);
if(!json_obj) {
fprintf(stderr, "JSON Parser Error [%d]: %s\n", error.line, error.text);
return 1;
}
json_t *name, *age, *score;
name = json_object_get(json_obj, "name");
age = json_object_get(json_obj, "age");
score = json_object_get(json_obj, "score");
printf("name: %s\nage: %d\nscore: [\n", json_string_value(name), json_integer_value(age));
int i;
for(i = 0; i < json_array_size(score); i++) {
printf("%d", json_integer_value(json_array_get(score, i)));
if(i != json_array_size(score) - 1) {
printf(", ");
}
}
printf("]\n");
json_decref(json_obj);
return 0;
}

首先,在代碼的頭部我們需要引入jansson庫。然后,我們聲明一個JSON格式的字符串,并使用json_loads函數將其轉換為json_t類型的對象,如果轉換失敗,我們需要使用json_error_t結構體來記錄錯誤信息。

接著,我們使用json_object_get函數分別獲取"name"、"age"和"score"三個字段的值,由于"score"是一個數組類型,因此我們需要使用json_array_size和json_array_get函數來遍歷它。

最后,我們使用json_decref函數來釋放JSON對象所占用的內存空間。

通過以上的步驟,我們成功地將JSON字符串轉換為了列表。這種方法簡單、高效,非常適合快速處理JSON數據。