在現代軟件開發中,數據的傳輸常常采用JSON格式進行交互。而在C語言中,實現將一個結構體或者對象轉換成JSON格式并將它發送出去是很必要的。下面是一個簡單的C代碼示例,實現將C類轉JSON格式并發送。
#include <stdio.h> #include <string.h> #include <jansson.h> //使用jansson庫,需要在頭文件中引入 typedef struct user{ char name[20]; int age; }User; int main(int argc, char *argv[]) { User user = {"Tom", 21}; char *json_str = NULL; //將C類轉JSON json_t *json_root = json_object(); json_object_set_new(json_root, "name", json_string(user.name)); json_object_set_new(json_root, "age", json_integer(user.age)); //將JSON轉字符串 json_str = json_dumps(json_root, JSON_COMPACT); printf("JSON: %s\n", json_str); //發送JSON send_json(json_str); //自定義發送JSON的函數 //釋放資源 free(json_str); json_delete(json_root); return 0; }
在代碼中,我們使用了jansson庫,這是一個C語言編寫的JSON格式轉換庫。首先,我們定義了一個User結構體。然后使用json_t類型的json_root來存儲將要轉換成JSON格式的內容。我們通過json_object_set_new()函數將User結構體中的字段設置進json_root。接著使用json_dumps()函數將json_root中存儲的內容轉成字符串,方便發送。最后發送json_str字符串到目標地址。
以上是一個簡單的關于C類轉JSON并發送的代碼示例。