C 語言是一種廣泛應用于嵌入式開發、操作系統以及網絡編程的編程語言,而 JSON 結構化數據格式則被廣泛應用于各種應用場景中,如網絡通信、配置文件、數據交換等。在 C 語言中,我們需要使用第三方庫才可以完成 JSON 數據的格式化操作。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { //創建 JSON 對象 json_t *json = json_object(); int ret; //添加 key-value ret = json_object_set_new(json, "name", json_string("Tom")); if (ret != 0) { printf("add name failed\n"); return -1; } ret = json_object_set_new(json, "age", json_integer(22)); if (ret != 0) { printf("add age failed\n"); return -1; } //將 JSON 對象轉換為字符串 char *json_str = json_dumps(json, JSON_INDENT(4)); if (json_str == NULL) { printf("make json string failed\n"); json_decref(json); return -1; } printf("%s\n", json_str); //釋放 JSON 對象和字符串 json_decref(json); free(json_str); return 0; }
在上述代碼中,我們使用了 jansson 庫,它提供了一種簡單的方式來創建、序列化和解析 JSON 數據。在代碼中,首先我們創建了一個空的 JSON 對象,然后添加了兩個 key-value,其中一個是字符串,一個是整型數值。
接著,我們將 JSON 對象轉換為字符串,使用的是 json_dumps 函數,它可以將 JSON 對象轉換為格式化字符串。在調用 json_dumps 函數時,傳遞了 JSON_INDENT(4) 參數,它可以將前綴空格的數量設置為 4 個。
最后,我們釋放了 JSON 對象和字符串的內存,這是一種良好的編程習慣,也是防止內存泄漏的關鍵。
總的來說,使用 jansson 庫可以很方便地在 C 語言中完成 JSON 數據的格式化操作。在實際應用場景中,我們可以根據自己的需求選擇不同的第三方庫。
上一篇python 本地套接字
下一篇emp的json