JSON是一種輕量級的數據交換格式,常用于前后端數據傳輸。在C語言中,我們可以使用第三方庫來解析和生成JSON格式的數據。以下是一個簡單的例子:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main(void) { // 生成JSON對象 json_t *json = json_object(); json_object_set_new(json, "name", json_string("Tom")); json_object_set_new(json, "age", json_integer(28)); // 序列化JSON對象為字符串 char *str = json_dumps(json, JSON_INDENT(4)); printf("%s\n", str); // 解析JSON字符串為JSON對象 json_error_t error; json_t *json2 = json_loads(str, 0, &error); // 讀取JSON對象的值 const char *name; int age; json_unpack(json2, "{s:s, s:i}", "name", &name, "age", &age); printf("Name: %s\nAge: %d", name, age); // 釋放內存 json_decref(json); json_decref(json2); free(str); return 0; }
在上面的例子中,我們使用了jansson庫來創建、序列化、解析和讀取JSON對象。首先,我們使用json_object()函數創建一個空的JSON對象,并使用json_object_set_new()函數為其添加兩個屬性,即name和age。其中,json_string()和json_integer()函數用于創建JSON字符串和JSON整型。然后,我們使用json_dumps()函數將JSON對象序列化為字符串,并使用printf()函數輸出字符串。
接著,我們使用json_loads()函數將JSON字符串解析為JSON對象,并使用json_unpack()函數讀取JSON對象的值。其中,"{s:s, s:i}"表示JSON對象的鍵值對形式,即"key1:value1, key2:value2","%s"表示字符串類型,"%i"表示整型類型。最后,我們使用json_decref()函數釋放JSON對象及其內存,使用free()函數釋放字符串的內存。
JSON格式的數據在C語言中使用非常靈活方便,可以實現各種復雜的數據結構和數據交換方式。學習和掌握JSON格式的使用對于開發高質量的C語言程序是非常重要的。
上一篇vue發送圖片給
下一篇python 有趣小程序