C JSON 是一種輕量級的數據交換格式,它通常用于計算機系統之間的數據傳輸。在 C 語言中,我們可以使用 cJSON 庫來對 JSON 格式的數據進行解析和生成。本文將介紹如何使用 cJSON 庫將 JSON 數據轉換成數組。
#include <stdio.h>
#include <cJSON.h>
int main()
{
char *json_str = "[1, 2, 3, 4]";
cJSON *json = cJSON_Parse(json_str);
if (json != NULL && cJSON_IsArray(json)) {
cJSON * item = NULL;
int i = 0;
cJSON_ArrayForEach(item, json) {
printf("item[%d] = %d\n", i++, item->valueint);
}
}
cJSON_Delete(json);
return 0;
}
以上代碼中,我們首先定義了一個 JSON 字符串json_str
,表示一個包含四個元素的數組。然后,我們使用cJSON_Parse
函數將該字符串解析成一個 cJSON 結構體。如果解析成功并且該 JSON 數據確實是一個數組,則可以使用cJSON_ArrayForEach
宏遍歷數組中的每個元素。
在遍歷數組時,我們需要定義一個指向數組元素的cJSON
結構體指針item
,并使用cJSON_ArrayForEach
宏將其與數組綁定。然后,我們可以使用item->valueint
獲取該元素的整數值,并輸出到控制臺中。
最后,我們使用cJSON_Delete
函數釋放解析出的 cJSON 結構體,并在程序結束時返回 0。