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

c 中json轉換為數組

錢琪琛2年前9瀏覽0評論

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,在C語言中,我們通常使用庫函數cJSON來對JSON數據進行解析和生成。

當需要將JSON數據轉換為C語言中的數組時,我們可以使用cJSON提供的API函數來實現。下面是一段示例代碼:

#include <stdio.h>
#include <cJSON.h>
int main()
{
const char* json_str = "{ \\"array\\": [1, 2, 3, 4, 5] }";
cJSON* root = cJSON_Parse(json_str);
cJSON* array = cJSON_GetObjectItem(root, "array");
if(cJSON_IsArray(array))
{
int arr_size = cJSON_GetArraySize(array);
int arr[arr_size];
for(int i = 0; i< arr_size; i++)
{
cJSON* item = cJSON_GetArrayItem(array, i);
arr[i] = item->valueint;
}
printf("Converted array: ");
for(int i = 0; i< arr_size; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
cJSON_Delete(root);
return 0;
}

在這段代碼中,我們先定義了一個JSON字符串,并將其解析為cJSON對象。然后,我們使用函數cJSON_GetObjectItem()獲取JSON對象中名為"array"的數組對象,并判斷是否為一個數組。

如果是數組,我們可以通過cJSON_GetArraySize()函數獲取數組的大小,并以此創建一個C語言中的數組。然后,我們遍歷JSON數組,使用cJSON_GetArrayItem()獲取每個元素,并將其轉換為C語言中的int類型。最后,我們輸出轉換后的數組。

注意,對于一個更復雜的JSON數據,可能需要使用多層嵌套的循環來進行逐層解析和轉換。