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

c 讀取json 轉(zhuǎn)字符串?dāng)?shù)組中

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

C 讀取 json 轉(zhuǎn)字符串?dāng)?shù)組是一種非常常見的編程任務(wù),它可以讓我們方便地讀取 json 數(shù)據(jù),并將其轉(zhuǎn)換為字符串?dāng)?shù)組。

#include <stdio.h>
#include <jansson.h>
int main() {
json_t *root;
json_error_t error;
int i;
char *json_string = "[\"Hello\", \"world\"]";
root = json_loads(json_string, JSON_DECODE_ANY, &error);
if (!root) {
printf("JSON decoding failed: %s\n", error.text);
return 1;
}
if (!json_is_array(root)) {
printf("JSON root is not an array!\n");
return 1;
}
for (i = 0; i < json_array_size(root); ++i) {
json_t *element = json_array_get(root, i);
if (!json_is_string(element)) {
printf("JSON element is not a string!\n");
return 1;
}
printf("%s", json_string_value(element));
if (i != json_array_size(root) - 1) {
printf(", ");
}
}
json_decref(root);
return 0;
}

代碼中使用了 jansson 庫,這是一個 C 語言的 json 解析庫,可以方便地處理 json 數(shù)據(jù)。

在這個例子中,我們首先將 json 數(shù)據(jù)轉(zhuǎn)換為 jansson 中的 json_t 對象。然后,我們判斷該 json_t 是否為數(shù)組類型,如果是,則遍歷數(shù)組的每個元素,判斷它是否為字符串類型,如果是,則將該字符串打印出來。

最后,我們需要釋放 json_t 對象,避免內(nèi)存泄漏。