C語言中,匿名類是一種常見的數據結構。與其他語言不同的是,C語言中并沒有現成的函數將匿名類直接轉換成JSON格式。但是,我們可以通過一些代碼實現將匿名類轉換成JSON。
#include <stdio.h> #include <string.h> #include <jansson.h> int main() { char buffer[1024]; json_t *root; json_error_t error; //定義匿名類 struct { char *name; int age; } person = {"Tom", 23}; //將匿名類轉換為JSON root = json_pack("{s:s, s:i}", "name", person.name, "age", person.age); //將JSON轉換成字符串 snprintf(buffer, sizeof(buffer), "%s", json_dumps(root, 0)); //輸出JSON字符串 printf("%s\n", buffer); //釋放內存 json_decref(root); return 0; }
在這段代碼中,我們首先定義了一個包含姓名和年齡的匿名類。接著,我們使用json_pack()函數將這個匿名類轉換成JSON對象,并通過json_dumps()函數將其轉換成JSON字符串。
需要注意的是,在使用json_pack()函數時,我們需要使用格式化字符串來指定JSON的結構。例如,在這個例子中,我們使用了“{s:s, s:i}”來定義JSON對象的結構,其中“s:s”表示包含一個字符串鍵和字符串值,而“s:i”表示包含一個字符串鍵和整型值。
最后,我們通過snprintf()函數將JSON字符串輸出到標準輸出中,并通過json_decref()函數釋放內存。
下一篇vue dom 生成