在現代的Web開發中,使用JSON(JavaScript Object Notation)作為數據格式變得非常常見。C語言開發者需要了解如何解析JSON,以便處理從Web服務器接收的JSON數據。
C語言中有一些庫可以用來解析JSON,其中最常用的是Jansson。Jansson是一個輕量級,易于使用的C語言庫,可以解析和構建JSON數據。
#include <jansson.h> int main() { char *json_string = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\"}"; json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); if(!root) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } const char *name; json_t *age, *city; json_unpack(root, "{s:s, s:i, s:s}", "name", &name, "age", &age, "city", &city); printf("Name: %s, Age: %d, City: %s\n", name, json_integer_value(age), json_string_value(city)); json_decref(root); return 0; }
在這個示例代碼中,我們傳入一個JSON字符串到json_loads函數,解析成Jansson庫中的json_t對象。如果解析成功,我們可以通過json_unpack函數進一步解析JSON數據。在這個例子中,我們解析了“name”(字符串類型)、“age”(整數類型)和“city”(字符串類型)。
如果您需要解析更復雜的JSON數據,例如嵌套的JSON對象和JSON數組,可以參考Jansson官方文檔中的說明。