使用 C 語言進行 JSON 數組轉對象非常簡單。首先,需要在代碼中引入 cJSON 庫,這是一個免費的、開源的 C JSON 解析器。在安裝好 cJSON 庫后,可以按照以下步驟將 JSON 數組轉換為對象:
#include <cJSON.h> ... char *json_string = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }"; cJSON *root = cJSON_Parse(json_string); ...
在上面的代碼中,我們首先定義了一個 JSON 字符串,并將其賦值給 json_string 變量。然后,使用 cJSON_Parse 函數將該 JSON 字符串解析為 cJSON 對象,并將其賦值給 root 變量。現在,我們可以使用 cJSON_GetObjectItem 函數從 cJSON 對象中獲取具體的 JSON 元素:
cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *city = cJSON_GetObjectItem(root, "city"); ...
在上面的代碼中,我們定義了三個 cJSON 對象,分別存儲了從 root 變量中獲取到的 JSON 元素。其中,cJSON_GetObjectItem 函數的第一個參數是 cJSON 對象,第二個參數是要獲取的 JSON 元素的鍵名。
最后,我們可以使用 cJSON_Delete 函數釋放 cJSON 對象所分配的內存空間,以避免內存泄漏:
cJSON_Delete(root);
使用 cJSON 庫可以方便快速地進行 JSON 數組轉對象操作,而且該庫還非常穩定可靠,可以廣泛應用于各種場景。