結構體是C語言的一個重要概念,其可以將不同類型的數據組合在一起形成一個新的數據類型,方便程序的管理與處理。而JSON是一種輕量級的數據交換格式,常用于前后端數據傳輸。本文將介紹如何將C語言中的結構體轉換成JSON格式數據。
在C語言中,我們需要使用第三方庫進行JSON編解碼,本文所使用的庫為cJSON。
#include <cJSON.h> #include <stdio.h> struct person { char name[20]; int age; double height; }; int main() { struct person p = {"Tom", 25, 176.5}; cJSON* root = cJSON_CreateObject(); // 創建JSON對象 cJSON_AddStringToObject(root, "name", p.name); cJSON_AddNumberToObject(root, "age", p.age); cJSON_AddNumberToObject(root, "height", p.height); char* json_str = cJSON_Print(root); // 將JSON對象轉換成字符串 printf("%s\n", json_str); cJSON_Delete(root); // 釋放JSON對象內存 return 0; }
以上代碼中,我們定義了一個名為person的結構體,其中包含了name、age和height三個成員變量。在主函數中,我們實例化了一個person類型的變量p,并初始化成員變量的值。然后通過cJSON庫的API,我們創建一個JSON對象并添加了三個鍵值對,最終將JSON對象轉換成字符串并輸出。
運行以上代碼,輸出結果如下:
{ "name": "Tom", "age": 25, "height": 176.500000 }
可以看到,我們成功將person結構體轉換成了JSON格式數據,方便進行數據傳輸與交互。