如果您是一位開發者,那么您肯定已經聽說過 JSON 格式。它是一種輕量級的數據交換格式,已經成為現代應用程序中最常見的數據格式之一。從移動應用到 Web 服務,幾乎所有的應用程序都需要解析 JSON 數據。在 C 語言中使用 JSON 數據的過程并不復雜,這里讓我們來一起了解一下。
首先,我們需要一種可以解析 JSON 數據的 C 語言庫。這里我們推薦使用 Jansson 庫,它是一個開源的 C 語言 JSON 庫,可以在 GitHub 上進行下載和使用。
#include <jansson.h> int main() { const char *json_string = "{\"name\": \"Tom\", \"age\": 18}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { printf("解析 JSON 字符串失敗: %s\n", error.text); return 1; } // 讀取 JSON 數據 json_t *name = json_object_get(root, "name"); const char *name_value = json_string_value(name); json_t *age = json_object_get(root, "age"); int age_value = json_integer_value(age); // 打印讀取結果 printf("name: %s, age: %d\n", name_value, age_value); // 釋放資源 json_decref(root); return 0; }
上面的代碼中,我們首先定義了一個 JSON 字符串,然后調用了 Jansson 庫提供的 json_loads 函數,將字符串解析成 json_t 對象。這里需要注意的是,如果解析失敗,我們需要將錯誤信息保存到 json_error_t 結構體中。
接下來,我們利用 json_object_get 函數獲取 name 和 age 字段的 json_t 對象,再分別使用 json_string_value 和 json_integer_value 函數將它們轉換成 C 語言中的字符串和整數類型。最后,我們打印讀取結果,并調用 json_decref 函數釋放內存。
總的來說,使用 Jansson 庫讀取 JSON 數據非常簡單。只需要調用幾個相關函數,就可以輕松地解析和讀取 JSON 格式的數據。
上一篇c json源碼分析
下一篇c json漢字