JSON (JavaScript Object Notation) 是一種輕量級數據交換格式,也是現代 Web 應用程序的首選數據格式之一。JSON 數組是 JSON 的一種數據類型,表示值的有序集合。在 C 語言中,我們可以使用第三方庫解析 JSON 數組,實現數據交換和處理。
對于 C 語言中的 JSON 解析,我們可以選擇使用 cJSON 庫,它是一種輕量級的 JSON 解析器,可以解析復雜的 JSON 數據。
#include#include "cJSON.h" int main() { const char* json_array = "[{\"key1\": \"value1\"}, {\"key2\" :\"value2\"}, {\"key3\":\"value3\"}]"; cJSON* json = cJSON_Parse(json_array); if (json == NULL) { const char* error_ptr = cJSON_GetErrorPtr(); if (error_ptr != NULL) { printf("Error before: %s\n", error_ptr); } } cJSON* array_item = NULL; cJSON_ArrayForEach(array_item, json) { cJSON* key = cJSON_GetObjectItemCaseSensitive(array_item, "key1"); if (cJSON_IsString(key) && (key->valuestring != NULL)) { printf("%s\n", key->valuestring); } } cJSON_Delete(json); return 0; }
在上面的代碼中,我們定義了一個包含 JSON 數組的字符串。然后,我們使用 cJSON_Parse() 函數將字符串轉換為 cJSON 對象。如果解析失敗,我們可以使用 cJSON_GetErrorPtr() 函數查看錯誤信息。接下來,我們使用 cJSON_ArrayForEach() 函數遍歷 cJSON 對象中的 JSON 數組,并在遍歷過程中使用 cJSON_GetObjectItemCaseSensitive() 函數獲取 JSON 數組中的鍵值對。
在 C 代碼中解析 JSON 數組并不像在其他語言中那樣容易,但使用 cJSON 庫可以使這個過程更簡單。通過理解 cJSON 庫的基本概念和使用方法,我們可以快速解析和操作 JSON 數據。