C語言是一門經(jīng)典的編程語言,其廣泛應(yīng)用于嵌入式系統(tǒng)、操作系統(tǒng)、云計(jì)算等領(lǐng)域。近年來,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,C語言也越來越多地被應(yīng)用于Web應(yīng)用程序中,如何將C語言中的類對象轉(zhuǎn)換成JSON字符串,成為了Web開發(fā)人員常遇到的問題。
//定義一個(gè)類 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> typedef struct _person { char* name; int age; } Person; int main(){ Person p; p.name="Jack"; p.age=20; //將類實(shí)例轉(zhuǎn)換成JSON字符串 json_t* jperson=json_object(); json_object_set(jperson,"name",json_string(p.name)); json_object_set(jperson,"age",json_integer(p.age)); char *s=json_dumps(jperson,JSON_COMPACT); printf("%s\n",s); free(p.name); json_decref(jperson); free(s); return 0; }
在代碼中,我們首先定義了一個(gè)Person類,包含了name和age屬性。然后我們新建了一個(gè)Person實(shí)例p,將name和age屬性賦值為“Jack”和20。接著我們用json_object()新建了一個(gè)json對象jperson,并使用json_object_set()將p的name和age屬性轉(zhuǎn)換成json鍵值對添加到了jperson對象中。
最后,我們調(diào)用json_dumps()方法將jperson對象轉(zhuǎn)換成了JSON字符串,存儲(chǔ)在char型指針s中,并使用printf輸出了該JSON字符串。
在以上代碼中,我們使用了