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

c數組json字符串轉數組中

林國瑞2年前8瀏覽0評論

在C語言中,JSON字符串是一個非常常見的數據格式。在JSON字符串中,包含著一些數組。如果需要在C語言中操作這些數組,就需要將JSON字符串轉換成C語言中的數組。接下來我們來講一下如何實現。

#include#include#include#includeint main() {
const char *json_str = "[1, 2, 3, 4, 5]"; //JSON數組字符串
json_error_t error; //解析JSON字符串時的錯誤信息
json_t *root; //指向最外層的JSON對象的指針 
json_t *element; //指向數組中的元素的指針 
int i, n; //計數器
root = json_loads(json_str, 0, &error); //將JSON字符串解析成JSON對象
if(!root) {
fprintf(stderr, "JSON解析失敗!\n");
return EXIT_FAILURE;
}
if(!json_is_array(root)) { //判斷是否是數組
fprintf(stderr, "JSON不是一個數組!\n");
json_decref(root); //釋放JSON對象
return EXIT_FAILURE;
}
n = json_array_size(root); //獲取數組元素個數
int array[n]; //定義C語言中的數組
for(i = 0; i< n; i++) { //遍歷數組
element = json_array_get(root, i); //獲取數組中的元素
if(!json_is_integer(element)) { //判斷是否是數字
fprintf(stderr, "數組中包含非數字元素!\n");
json_decref(root); //釋放JSON對象
return EXIT_FAILURE;
}
array[i] = json_integer_value(element); //將元素的值存入數組
}
for(i = 0; i< n; i++) { //遍歷數組
printf("%d\n", array[i]); //輸出數組中的元素
}
json_decref(root); //釋放JSON對象
return EXIT_SUCCESS; //程序正常結束
}

在上面的代碼中,我們使用了jansson庫來解析JSON字符串。首先我們將JSON字符串解析成JSON對象,然后檢查它是否是一個數組。如果是一個數組,我們就遍歷它,對數組中的每個元素進行類型檢查,并將每個元素的值存入一個C語言中的數組中。最后再遍歷C語言中的數組,打印出其中的元素即可。