在 C 語言中,字符串處理是常見的需求之一,隨著 JSON 數據格式的廣泛應用,將 JSON 字符串轉換成數組成為了 C 語言中不可避免的任務之一。
// 以下是一個 JSON 字符串的例子 char* json_str = "{\"name\": \"Alice\", \"age\": 23}"; // 將 JSON 字符串解析為 JSON 對象,需要引入庫 "cJSON.h" #include "cJSON.h" cJSON* root = cJSON_Parse(json_str); // 將 JSON 對象轉為數組 int len = cJSON_GetArraySize(root); int* array = (int *)malloc(sizeof(int) * len); for (int i = 0; i< len; i++) { cJSON* item = cJSON_GetArrayItem(root, i); array[i] = item->valueint; // 假設數組元素都為整數 } // 釋放內存 cJSON_Delete(root);
上述代碼包含三個重要部分,分別是:
- 引入 cJSON 庫頭文件:為了方便處理 JSON 字符串,我們需要使用第三方庫 "cJSON.h",這個庫提供了操作 JSON 的各種方法。
- 將 JSON 字符串解析為 JSON 對象:在使用 cJSON 庫時,首先需要將 JSON 字符串解析成 cJSON 對象,從而能夠使用 cJSON 提供的方法來操作 JSON 數據。
- 將 JSON 對象轉為數組:得到了 cJSON 對象之后,就可以使用 cJSON 提供的方法獲取其中的數組元素,從而將 JSON 對象轉為數組。
需要注意的是,在使用完 cJSON 對象之后,一定要使用 cJSON_Delete() 方法釋放內存,否則會造成內存泄露。