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

c json數據轉字符串數組

林子帆2年前8瀏覽0評論

C語言中,常常需要將JSON格式的數據轉換成字符串數組,這樣可以方便地在程序中進行處理和存儲。下面我們將介紹如何在C語言中實現JSON數據轉字符串數組。

#include <stdio.h>
#include <jansson.h>
int main() {
char *json_string = "{\"name\":\"Tom\",\"age\":20,\"score\":[85,92,78]}";
json_t *root;
json_error_t error;
// 將JSON字符串轉換為JSON對象
root = json_loads(json_string, 0, &error);
// 獲取name字段的值并轉換為字符串
json_t *name = json_object_get(root, "name");
const char *name_str = json_string_value(name);
// 獲取age字段的值并轉換為整數
json_t *age = json_object_get(root, "age");
int age_int = json_integer_value(age);
// 獲取score字段的值并轉換為數組
json_t *score = json_object_get(root, "score");
int i;
int len = json_array_size(score);
int score_array[len];
for (i = 0; i < len; i++) {
score_array[i] = json_integer_value(json_array_get(score, i));
}
// 打印結果
printf("name: %s\n", name_str);
printf("age: %d\n", age_int);
printf("score: ");
for (i = 0; i < len; i++) {
printf("%d ", score_array[i]);
}
printf("\n");
// 釋放內存
json_decref(root);
return 0;
}

在以上代碼中,使用了jansson庫來實現JSON數據轉字符串數組。首先將JSON字符串轉換為JSON對象,然后通過json_object_get函數來獲取對象中的字段值,并使用相應的json_*_value函數將其轉換為需要的類型。

在獲取數組類型的字段值時,需要先獲取數組的長度,然后使用json_array_get函數獲取數組中的每個元素,并使用相應的json_*_value函數將其轉換為需要的類型,再存儲到數組中。

最后需要記得使用json_decref函數來釋放內存。