在 C 語言中,解析 JSON 數據可以使用各種庫,如 cJSON、Jansson 等等。這里我們以 cJSON 為例,介紹如何將 JSON 解析為字符串數組。
// 引入 cJSON 庫 #include "cJSON.h" int main() { char* json_str = "{ \"fruit\": [\"apple\", \"banana\", \"orange\"] }"; // 解析 JSON 字符串 cJSON* root = cJSON_Parse(json_str); // 獲取 fruit 數組 cJSON* fruit = cJSON_GetObjectItem(root, "fruit"); // 遍歷 fruit 數組并將其轉化為字符串數組 int size = cJSON_GetArraySize(fruit); char* str_array[size]; for (int i = 0; i< size; i++) { cJSON* item = cJSON_GetArrayItem(fruit, i); char* str = cJSON_GetStringValue(item); str_array[i] = str; } // 輸出字符串數組 for (int i = 0; i< size; i++) { printf("%s\n", str_array[i]); } // 釋放 cJSON 對象 cJSON_Delete(root); return 0; }
在上面的代碼中,我們首先引入了 cJSON 庫,然后定義了一個 JSON 字符串,該字符串包含一個名為 fruit 的數組。接著,我們使用 cJSON_Parse() 函數將其解析為 cJSON 對象。然后,我們通過 cJSON_GetObjectItem() 函數獲取了 fruit 數組的指針,接著遍歷該數組并將其轉化為字符串數組。最后,我們輸出了該字符串數組并釋放了 cJSON 對象。