在C語言中,可以使用第三方庫將結(jié)構(gòu)體數(shù)據(jù)轉(zhuǎn)換為JSON對象。使用JSON可以將大量的數(shù)據(jù)保存為一個單獨的數(shù)據(jù)結(jié)構(gòu),并方便傳輸?shù)搅硪粋€服務(wù)端。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<jansson.h>
struct student{
char name[10];
int age;
float score;
};
int main()
{
struct student stu = {"David", 20, 90.5};
json_t* json = json_pack("{s:s,s:i,s:f}","name",stu.name,"age",stu.age,"score",stu.score);
char* json_str = json_dumps(json, JSON_INDENT(4));
printf("json string:\n");
printf("%s\n", json_str);
free(json_str);
json_decref(json);
return 0;
}
在代碼中,定義了一個student結(jié)構(gòu)體,包含學(xué)生的姓名、年齡和分?jǐn)?shù)。使用jansson庫中的json_t*類型來創(chuàng)建一個json對象(json_pack函數(shù)),對象以字符串的形式顯示(json_dumps函數(shù))。