在C語言中,Json是一種常見的數據格式, 它以樹形結構存儲數據。在處理Json數據時,將Json數據轉換為數組或列表通常是必要的,因為這樣做可以使數據更容易操作。在本文中,我們將討論如何將C語言中的Json數據轉換為數組。
/* JSON字符串: { "name": "Tom", "age": 28, "gender": "male", "languages": ["C", "Java", "Python"] } */ #include#include #include #include "cJSON.h" int main() { const char *json_string = "{\"name\":\"Tom\",\"age\":28,\"gender\":\"male\",\"languages\":[\"C\",\"Java\",\"Python\"]}"; cJSON *root = cJSON_Parse(json_string); cJSON *languages = cJSON_GetObjectItem(root, "languages"); if (cJSON_IsArray(languages)) { int array_size = cJSON_GetArraySize(languages); for (int i = 0; i< array_size; i++) { cJSON *item = cJSON_GetArrayItem(languages, i); printf("Language %d: %s \n", i+1, item->valuestring); } } cJSON_Delete(root); return 0; }
在上述示例代碼中,我們使用cJSON庫將Json數據解析成一個樹形結構,然后使用cJSON_GetObjectItem函數獲取要轉換為數組的Json數據項。此外,在處理完Json數據后,我們還使用cJSON_Delete來釋放內存資源。
最后,我們遍歷數組并打印所有元素的值。在遍歷Json數組時,我們使用cJSON_GetArraySize獲取數組大小,然后使用cJSON_GetArrayItem獲取每個元素并打印內容。