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

c json 轉換數組

方一強2年前7瀏覽0評論

在C語言中使用JSON格式的數據是很常見的,在C語言中有很多的庫可以幫助我們快速的解析和生成JSON格式的數據。但是在實際使用中,我們有時候需要將JSON格式的數據轉換成數組,這時候該怎么做呢?下面讓我們來看看如何使用C語言將JSON格式的數據轉換成數組。

// 定義JSON字符串
char* json_str = "[1,2,3,4,5]";
// 解析JSON字符串
cJSON* root = cJSON_Parse(json_str);
if (root == NULL)
{
printf("JSON格式錯誤!\n");
return -1;
}
else if (!cJSON_IsArray(root))
{
printf("JSON格式不是數組!\n");
cJSON_Delete(root);
return -1;
}
// 獲取JSON數組大小
int size = cJSON_GetArraySize(root);
// 定義數組
int arr[size];
// 轉換JSON數據為數組
for (int i = 0; i< size; i++)
{
cJSON* item = cJSON_GetArrayItem(root, i);
if (!cJSON_IsNumber(item))
{
printf("JSON格式不是數字!\n");
cJSON_Delete(root);
return -1;
}
arr[i] = item->valueint;
}
// 打印數組
for (int i = 0; i< size; i++)
{
printf("%d ", arr[i]);
}
// 釋放內存
cJSON_Delete(root);

上面的代碼演示了如何將JSON格式的數據轉換成數組。首先需要使用cJSON_Parse()函數解析JSON字符串,得到一個cJSON對象;然后使用cJSON_IsArray()函數判斷該對象是否是數組;接著使用cJSON_GetArraySize()函數獲取數組大??;最后使用cJSON_GetArrayItem()函數逐個獲取數組元素,并將其轉換成int類型,最終保存在數組中。