C 語言的開發人員經常需要從 JSON 數據源中獲取數據。在這篇文章中,我們將介紹如何使用 C 語言循環獲取 JSON 數據,并用代碼示例來展示這個過程。
#include <stdio.h> #include <jansson.h> int main(int argc, char *argv[]) { char *json_string = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\"}"; json_t *root; json_error_t error; /* 解析 JSON 字符串 */ root = json_loads(json_string, 0, &error); if (!root) { printf("JSON 解析失敗: %s\n", error.text); return -1; } /* 獲取 JSON 對象的屬性值 */ const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); const char *city = json_string_value(json_object_get(root, "city")); /* 打印出 JSON 對象的屬性值 */ printf("姓名:%s\n", name); printf("年齡:%d\n", age); printf("城市:%s\n", city); /* 釋放內存 */ json_decref(root); return 0; }
上面的代碼用到了jansson.h
庫,這是一個用于解析和生成 JSON 的 C 語言庫。它提供了 JSON 對象、數組、字符串、數字等類型的封裝。
在代碼中,首先我們創建一個 JSON 字符串,并用json_loads()
函數將這個字符串解析成 JSON 對象。
然后,我們使用json_object_get()
函數獲取 JSON 對象中的屬性值,并使用json_string_value()
和json_integer_value()
函數將屬性值轉換成 C 語言的字符串和整數類型。
最后,我們使用json_decref()
函數釋放內存。
總之,使用 C 語言循環獲取 JSON 數據并不難,只要掌握了相關的 JSON 庫和函數,就可以輕松地實現。