C 語言實現 Web 應用程序開發中,所有現代 Web 應用程序都需要處理 JSON(JavaScript Object Notation)數據。通常在 JavaScript 代碼中使用 JSON 進行數據交換,但是也可以使用 C 語言來處理 JSON 數據。 在這篇文章中,我們將介紹如何使用 C 語言進行 JSON 數據的處理。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { json_t *json; json_error_t error; const char *json_string = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"},{\"name\":\"Mary\",\"age\":25,\"city\":\"London\"}]"; size_t i; json = json_loads(json_string, 0, &error); if(json == NULL) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } for(i = 0; i < json_array_size(json); i++) { json_t *obj = json_array_get(json, i); const char *name; json_t *age; const char *city; json_unpack(obj, "{s:s, s:o, s:s}", "name", &name, "age", &age, "city", &city); printf("name: %s\n", name); printf("age: %d\n", json_integer_value(age)); printf("city: %s\n", city); } json_decref(json); return 0; }
這是一個簡單的使用 jansson 庫的 C 語言程序,用于解析 JSON 數據格式的字符串。該程序首先加載 JSON 字符串,然后將其解析為一個 jansson 對象。它可以遍歷 JSON 數組中的對象,并從中提取對象的 name、age、city 屬性。
jansson 庫非常強大,支持 JSON 數據的序列化和反序列化、對象遍歷、數組操作、類型匹配等多種功能。 它還具有良好的性能和低的資源占用,使其成為 Web 應用程序開發領域中常用的 C 語言庫之一。