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

c json to array

林玟書2年前7瀏覽0評論

C語言中處理JSON數(shù)據(jù)的一種方式是將其轉(zhuǎn)換成數(shù)組,通過遍歷數(shù)組來訪問JSON數(shù)據(jù)的各個元素。下面介紹一種將JSON數(shù)據(jù)轉(zhuǎn)換為數(shù)組的方法。

#include <stdio.h>
#include <jansson.h>
void json_to_array(json_t *json, int *arr) {
int i;
json_t *value;
json_array_foreach(json, i, value) {
if(json_is_array(value)) {
json_to_array(value, arr + i);
} else if(json_is_integer(value)) {
arr[i] = json_integer_value(value);
}
}
}
int main(int argc, char *argv[]) {
char *json_str = "[[1, 2], [3, 4]]";
json_error_t error;
json_t *json = json_loads(json_str, JSON_DECODE_ANY, &error);
if(!json) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
int arr[4];
json_to_array(json, arr);
int i;
for(i=0; i<4; i++) {
printf("%d ", arr[i]);
}
printf("\n");
json_decref(json);
return 0;
}

該代碼中,通過`json_loads()`函數(shù)將JSON字符串轉(zhuǎn)換成JSON對象,然后調(diào)用`json_to_array()`函數(shù)將JSON對象轉(zhuǎn)換成數(shù)組,最后輸出數(shù)組中的元素。`json_to_array()`函數(shù)通過遞歸地遍歷JSON數(shù)組,將其中的整數(shù)存儲到數(shù)組中。注意,該函數(shù)假設(shè)JSON數(shù)組的元素都是整數(shù)。