c語言是一種非常強(qiáng)大的編程語言,也是數(shù)據(jù)交換中經(jīng)常用到的一種語言。在數(shù)據(jù)交換時,我們經(jīng)常需要使用json作為數(shù)據(jù)格式,而在生成json數(shù)據(jù)時,嵌套json是一種常見的方式。在c語言中,生成嵌套json數(shù)據(jù)也非常簡單。
#include#include #include int main() { char *innerJson = "{\"name\": \"Tom\", \"age\": 18}"; char *outerJson = malloc(sizeof(char) * strlen(innerJson) + 20); sprintf(outerJson, "{\"id\": 1, \"desc\": \"This is outer json\", \"inner\": %s}", innerJson); printf("%s\n", outerJson); free(outerJson); return 0; }
代碼中,我們使用sprintf函數(shù)將innerJson和外層json拼接起來。其中,innerJson是一個字符串類型的json數(shù)據(jù),outerJson是一個字符串類型的變量,我們使用sprintf格式化字符串的方式將兩者拼接。
生成的外層json數(shù)據(jù)如下:
{ "id": 1, "desc": "This is outer json", "inner": { "name": "Tom", "age": 18 } }
可以看到,我們成功地生成了一個嵌套結(jié)構(gòu)的json數(shù)據(jù)。通過這種方式,我們可以很方便地生成嵌套json數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的復(fù)雜交換和傳輸。