在C語言中,序列化嵌套JSON是一個常見的需求。JSON是一種輕量級的數據交換格式,具有廣泛的應用。本文將介紹如何在C語言中序列化嵌套JSON。
首先需要引入一個常用的C庫:Jansson。Jansson是一個基于C的JSON庫,可以輕松解析和生成JSON數據。
#include<stdio.h> #include<jansson.h> int main(){ /*創建根對象*/ json_t *root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(20)); /*創建嵌套對象*/ json_t *address = json_object(); json_object_set_new(address, "city", json_string("Beijing")); json_object_set_new(address, "street", json_string("Siyuan Street")); json_object_set_new(root, "address", address); /*序列化JSON*/ char *json_str = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_str); /*釋放資源*/ json_decref(root); free(json_str); return 0; }
上面的代碼中,我們首先創建了一個根對象,然后向根對象中添加一些鍵值對。接著,我們創建了一個嵌套對象,并向嵌套對象中添加一些鍵值對。最后,我們將嵌套對象添加到根對象中,并使用json_dumps函數將根對象序列化為JSON字符串。JSON_INDENT(4)參數表示每個級別縮進4個空格。
在運行上面的代碼后,我們可以得到如下輸出:
{ "address": { "city": "Beijing", "street": "Siyuan Street" }, "age": 20, "name": "Tom" }
可以看到,輸出的JSON字符串中包含了嵌套的對象。
總之,在C語言中序列化嵌套JSON可以使用Jansson庫輕松實現。以上是一個簡單的示例,實際應用中可能需要更復雜的操作。