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

c 將json轉化為數組

老白1年前7瀏覽0評論

在 C 語言中,將 JSON 轉化為數組并不是一件容易的事情。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它以鍵值對的形式呈現數據,并且可被 JavaScript 解析。在 C 語言中,我們需要借助第三方 library 來實現這個功能。在本文中,我們將探討如何使用 cJSON library 將 JSON 轉化為數組。

#include <stdio.h>
#include <cJSON.h>
int main() {
char *json_string = "{\"name\":\"tom\", \"age\": 23, \"hometown\":[\"Beijing\", \"China\"]}";
cJSON *root = cJSON_Parse(json_string);
int age = cJSON_GetObjectItem(root, "age")->valueint;
cJSON *hometown = cJSON_GetObjectItem(root, "hometown");
int hometown_size = cJSON_GetArraySize(hometown);
char *hometown_array[hometown_size];
for (int i = 0; i < hometown_size; i++) {
cJSON *hometown_item = cJSON_GetArrayItem(hometown, i);
hometown_array[i] = hometown_item->valuestring;
}
printf("Name: %s\nAge: %d\nHometown: %s, %s\n", cJSON_GetObjectItem(root, "name")->valuestring, age,
hometown_array[0], hometown_array[1]);
cJSON_Delete(root);
return 0;
}

在上面的代碼中,我們使用 cJSON_Parse() 函數將 JSON 字符串轉化為 cJSON 對象,通過 cJSON_GetObjectItem() 函數獲取對象中的鍵值對。當值為數組時,我們可以使用 cJSON_GetArraySize() 函數獲取數組的大小,然后使用 cJSON_GetArrayItem() 函數遍歷數組元素,并使用 cJSON_GetObjectItem() 函數獲取元素值。

最后,我們需要調用 cJSON_Delete() 函數來釋放 cJSON 對象。