欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 把json轉化為數組

謝彥文1年前8瀏覽0評論

在C語言中,我們經常要處理JSON結構的數據,而JSON常常以字符串的形式傳遞過來。幸運的是,在C語言中,我們可以將JSON字符串轉換為數組,方便我們后續的數據處理。

以下是將JSON字符串轉換為數組的代碼示例:

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main()
{
const char *json_string = "{\"name\":\"Tom\", \"age\":18, \"gender\":\"male\"}";
json_t *root;
json_error_t error;
/* 將JSON字符串轉換為JSON對象 */
root = json_loads(json_string, 0, &error);
if (!root)
{
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
/* 將JSON對象轉換為數組 */
if (json_typeof(root) == JSON_ARRAY)
{
size_t i;
json_t *value;
json_array_foreach(root, i, value)
{
printf("element %ld: %s\n", i, json_typeof(value));
}
}
else
{
printf("error: root is not an array\n");
}
/* 釋放JSON對象 */
json_decref(root);
return 0;
}

在上述代碼中,我們首先定義了一個JSON字符串,并將其轉換為JSON對象。接下來,我們使用json_typeof函數來判斷root是否為JSON數組。如果root是一個JSON數組,我們就可以使用json_array_foreach函數來遍歷數組中的所有元素,并對其進行后續處理。

最后,我們使用json_decref函數來釋放root所占用的內存空間,避免內存泄漏。

通過以上代碼,我們可以很方便地將JSON字符串轉換為數組,并對其進行后續的處理。