在編程中,c語言通常被用于處理底層操作。而json則是一種輕量級的數據交換格式,常用于前端與后端數據傳遞及接收。c語言轉換成json格式可以方便地將數據轉換為標準格式,并在網絡傳輸中起到更好的兼容性和穩定性。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #pragma pack(1) //對齊方式設置為1個字節 struct Person { char name[20]; int age; char sex[6]; }; #pragma pack() //還原對齊方式 char* Person2Json(struct Person* p) { char* json = (char*)malloc(128); //假設分配內存為128 sprintf(json, "{\"name\":\"%s\",\"age\":%d,\"sex\":\"%s\"}", p->name, p->age, p->sex); return json; } int main() { struct Person p1 = {"張三", 23, "男"}; char* json = Person2Json(&p1); printf(json); free(json); return 0; }
以上是一個c語言轉換成json的例子,首先我們定義了一個Person結構體,用于存儲名字、年齡和性別。通過#pragma pack(1)和#pragma pack()對齊方式進行設置和還原,使得結構體中的成員變量按照1個字節的方式排列,避免對齊問題帶來的數據誤差。接著定義了一個Person2Json函數用于將Person結構體轉換成json格式。
在Person2Json函數中,我們動態分配了128個字節的內存用于存放json字符串。然后通過sprintf函數按照json格式填充相應字段。最后返回json字符串。
在main函數中,我們創建了一個Person結構體,并將其傳入Person2Json函數中,得到了一個json字符串,最后再用printf函數將其輸出。最后應該釋放內存,防止內存泄漏。
上一篇c靜態反射序列號json
下一篇vue 防盜鏈