C 03 JSON序列化是一種在C語言中將數據序列化為JSON格式的方法。在Web應用程序中,JSON越來越流行,因為它是一種通用的數據格式,PHP,Python和JavaScript都支持JSON。使用JSON格式可以方便地在不同系統和語言之間傳輸數據。下面我們來看一下如何在C語言中進行JSON序列化。
#include <stdio.h> #include <jansson.h> int main() { //創建JSON對象 json_t *root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(18)); json_object_set_new(root, "weight", json_real(70.5)); //將JSON對象序列化為字符串 char *json_str = json_dumps(root, JSON_INDENT(4)); printf("%s", json_str); //釋放JSON對象和字符串 json_decref(root); free(json_str); return 0; }
通過上面的代碼,我們可以看到,C語言中使用json_t類型表示JSON對象。json_object_set_new函數可以為JSON對象添加鍵值對,鍵是一個字符串,值可以是字符串、整數或浮點數。函數json_dumps將JSON對象序列化為字符串,第二個參數是序列化選項,其中JSON_INDENT(4)表示按4個空格縮進。函數json_decref用于釋放JSON對象,函數free用于釋放字符串。
在實際使用中,我們可以將JSON對象序列化為文件或網絡傳輸。反序列化也很容易,只需要將JSON字符串轉換為JSON對象即可。C語言中的JSON庫還有很多其它功能,如解析JSON字符串、修改JSON對象、合并JSON對象等。有了C語言中的JSON庫,我們可以方便地處理JSON格式的數據,實現C語言與其它語言之間的數據交換。