在C語(yǔ)言開(kāi)發(fā)中,處理JSON數(shù)據(jù)時(shí)需要使用相關(guān)的庫(kù)來(lái)實(shí)現(xiàn)。在此,我們介紹使用Jansson庫(kù)來(lái)開(kāi)發(fā)一個(gè)JSON樣例。
#include <jansson.h> int main() { // 創(chuàng)建JSON對(duì)象 json_t *root = json_object(); // 添加字符串類(lèi)型的key-value對(duì) json_object_set_new(root, "name", json_string("小明")); // 添加數(shù)值類(lèi)型的key-value對(duì) json_object_set_new(root, "age", json_integer(18)); // 添加數(shù)組類(lèi)型的key-value對(duì) json_t *array = json_array(); json_array_append_new(array, json_string("籃球")); json_array_append_new(array, json_string("足球")); json_object_set_new(root, "hobbies", array); // 將JSON對(duì)象轉(zhuǎn)化為字符串 char *str = json_dumps(root, JSON_COMPACT | JSON_ENSURE_ASCII); // 打印輸出JSON字符串 printf("%s\n", str); // 釋放內(nèi)存 json_decref(root); free(str); return 0; }
在上述代碼中,我們創(chuàng)建了一個(gè)JSON對(duì)象,并向其中添加不同類(lèi)型的key-value對(duì),包括字符串類(lèi)型、數(shù)值類(lèi)型和數(shù)組類(lèi)型。最后使用json_dumps函數(shù)將該JSON對(duì)象轉(zhuǎn)化為字符串進(jìn)行打印輸出。需要注意的是,在結(jié)束程序前,需要釋放JSON對(duì)象和字符串所占用的內(nèi)存。