在現(xiàn)代的 Web 開(kāi)發(fā)中,JSON 格式已經(jīng)成為了數(shù)據(jù)交換的標(biāo)準(zhǔn)格式之一。因此,在許多情況下,我們需要將 C 語(yǔ)言變量轉(zhuǎn)換成 JSON 格式,并通過(guò)網(wǎng)絡(luò)發(fā)送給其他應(yīng)用程序,以實(shí)現(xiàn)數(shù)據(jù)交換。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { json_t *json; json_error_t error; /* 創(chuàng)建一個(gè) JSON 對(duì)象 */ json = json_pack("{s:s, s:i, s:b, s:f}", "string", "Hello, World!", "integer", 42, "boolean", 1, "float", 3.1415); /* 判斷 JSON 對(duì)象是否創(chuàng)建成功 */ if (!json) { fprintf(stderr, "Error: JSON object creation failed.\n"); return 1; } /* 將 JSON 對(duì)象轉(zhuǎn)換成字符串 */ char *json_str = json_dumps(json, JSON_INDENT(2)); /* 判斷轉(zhuǎn)換是否成功 */ if (!json_str) { fprintf(stderr, "Error: JSON object dump failed.\n"); json_decref(json); return 1; } printf("%s\n", json_str); /* 釋放內(nèi)存 */ free(json_str); json_decref(json); return 0; }
以上代碼演示了如何將 C 語(yǔ)言變量轉(zhuǎn)換成 JSON 格式。在代碼中,我們首先創(chuàng)建了一個(gè) JSON 對(duì)象,并為其添加了一些屬性。然后,我們使用json_dumps()
函數(shù)將 JSON 對(duì)象轉(zhuǎn)換成字符串,并將其打印輸出。
需要注意的是,這里使用了json_t
類(lèi)型和json_error_t
類(lèi)型,它們是由第三方庫(kù)libjansson
提供的。在實(shí)際開(kāi)發(fā)中,我們需要事先安裝好這個(gè)庫(kù),然后在代碼中包含相應(yīng)頭文件即可。