C語言是一種常用的編程語言,而JSON是一種輕量級的數據交換格式。在C語言中,可以使用序列化庫將C程序中的結構體、數組等數據類型轉換成JSON格式,方便地交換和處理數據。
#include <stdio.h> #include <jansson.h> typedef struct Book { char title[30]; char author[20]; int year; } Book; int main() { Book book = {"C Programming","K&R",1978}; json_t *json, *title, *author, *year; json = json_object(); //創建json title = json_string(book.title); //將title轉換成JSON格式 json_object_set(json, "title", title); //添加到json中 author = json_string(book.author); json_object_set(json, "author", author); year = json_integer(book.year); json_object_set(json, "year", year); printf("%s", json_dumps(json, JSON_INDENT(2))); //輸出json json_decref(json); //刪除json return 0; }
在上述代碼中,首先定義了一個結構體Book,包含書籍的名稱、作者和出版年份。然后使用序列化庫jansson.h中的函數將結構體轉換成json_t格式的數據。具體地,先創建一個空的json對象,然后將結構體中的各個字段轉換成對應的json值,并添加到json對象中。最后使用json_dumps函數將json對象轉換成JSON字符串并輸出。
使用序列化庫進行C到JSON的轉換可以方便地在不同的系統和語言之間交換數據。只需要在發送方將C程序中的數據轉換成JSON格式,然后在接收方再將JSON格式轉換回C數據類型即可完成數據的傳遞和處理。
上一篇python 灰度轉二值
下一篇python 灰度圖降噪