在 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 對象。
上一篇vue做轉盤抽獎
下一篇python 漲跌幅數據