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

c 把json轉換成數組對象數組

老白2年前9瀏覽0評論

在使用 C 語言時,我們可能需要將一個 JSON 字符串轉換成一個數組對象數組。這時候,我們可以使用一些開源的 JSON 庫,如 cJSON。cJSON 是一個非常輕量級的 JSON 庫,可用于解析和創建 JSON 數據。在下面的代碼示例中,我們將展示如何使用 cJSON 將 JSON 字符串轉換為數組對象數組。

#include#include#include "cJSON.h"
int main() {
// 測試用 JSON 字符串
char* json_str = "[{\"name\":\"apple\", \"price\":2.5}, {\"name\":\"orange\", \"price\":1.2}]";
// 解析 JSON 字符串
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
printf("解析 JSON 字符串失敗!\n");
return -1;
}
// 將解析后的 JSON 對象轉換為 JSON 數組
cJSON *array = NULL;
array = cJSON_GetArrayItem(json, 0);
if (array == NULL) {
printf("獲取 JSON 數組失敗!\n");
return -1;
}
// 遍歷 JSON 數組,取出數組中的每一個元素
cJSON *item = NULL;
cJSON_ArrayForEach(item, array) {
// 獲取 JSON 對象中的屬性值
cJSON *name = cJSON_GetObjectItem(item, "name");
cJSON *price = cJSON_GetObjectItem(item, "price");
// 輸出屬性值
printf("name: %s, price: %.2f\n", cJSON_GetStringValue(name), price->valuedouble);
}
// 釋放資源
cJSON_Delete(json);
return 0;
}

在上面的示例中,我們使用 cJSON_Parse() 函數將 JSON 字符串解析成 cJSON 對象。然后,使用 cJSON_GetArrayItem() 函數獲取 JSON 數組,并使用 cJSON_ArrayForEach() 函數遍歷 JSON 數組,并取出數組中的每一個元素。最后,使用 cJSON_GetObjectItem() 函數獲取 JSON 對象中的屬性值。

要注意的是,在使用 cJSON 庫的過程中,需要根據具體情況來正確地使用 cJSON 提供的函數和宏。否則,可能會導致解析不成功,或者在變量釋放方面出現問題。同時,在實際使用中,我們還需要根據實際情況選擇不同的 JSON 庫,以便更好地滿足項目的需求。