在 C 語言中,將對(duì)象轉(zhuǎn)換成 JSON 格式是很常見的操作。JSON 是一種常用的數(shù)據(jù)格式,比如在 Web 應(yīng)用中,就經(jīng)常用它作為前后端數(shù)據(jù)傳輸?shù)母袷健_@篇文章將介紹如何在 C 語言中將對(duì)象轉(zhuǎn)換成 JSON 格式。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 創(chuàng)建一個(gè) JSON 對(duì)象 json_t *root = json_object(); // 添加元素 json_object_set_new(root, "name", json_string("John")); json_object_set_new(root, "age", json_integer(30)); json_object_set_new(root, "is_married", json_boolean(1)); // 轉(zhuǎn)換成字符串 char *json_str = json_dumps(root, JSON_INDENT(4)); // 輸出 JSON 字符串 printf("%s\n", json_str); // 釋放內(nèi)存 json_decref(root); free(json_str); return 0; }
在上面的代碼中,我們使用了 jansson 庫來實(shí)現(xiàn) JSON 轉(zhuǎn)換。首先,我們創(chuàng)建了一個(gè) JSON 對(duì)象,然后分別添加了名字、年齡和婚姻狀況三個(gè)字段。最后,我們調(diào)用了 json_dumps 函數(shù),將 JSON 對(duì)象轉(zhuǎn)換成字符串,并輸出到屏幕上。在這里我們使用了 JSON_INDENT(4) 參數(shù),它使得輸出字符串有 4 個(gè)空格縮進(jìn),使得更易于閱讀。
當(dāng)然,如果你需要更加復(fù)雜的 JSON 對(duì)象,比如數(shù)組、嵌套對(duì)象等,你需要參考 jansson 庫的文檔。不過這個(gè)例子已經(jīng)說明了基本的思路,即創(chuàng)建 JSON 對(duì)象,添加屬性,最后轉(zhuǎn)換成字符串輸出。