欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json 結構體互轉

張吉惟2年前7瀏覽0評論

在C語言中,JSON是一種比較流行的數(shù)據(jù)格式,而結構體是C語言中存儲數(shù)據(jù)的一種方式。在實際開發(fā)中,我們常常需要將JSON和結構體進行相互轉換,因此學習如何進行這樣的操作非常重要。

在C語言中,我們可以使用一些第三方的庫來實現(xiàn)JSON和結構體之間的相互轉換,比如cJSON這個庫。

// c代碼示例
#include "cJSON.h"
typedef struct {
int id;
char name[20];
double score;
} student;
student json_to_struct(char* json)
{
cJSON* j = cJSON_Parse(json);
student s;
s.id = cJSON_GetObjectItem(j, "id")->valueint;
strcpy(s.name, cJSON_GetObjectItem(j, "name")->valuestring);
s.score = cJSON_GetObjectItem(j, "score")->valuedouble;
cJSON_Delete(j);
return s;
}
char* struct_to_json(student s)
{
cJSON* j = cJSON_CreateObject();
cJSON_AddNumberToObject(j, "id", s.id);
cJSON_AddStringToObject(j, "name", s.name);
cJSON_AddNumberToObject(j, "score", s.score);
char* json = cJSON_Print(j);
return json;
}

在上述代碼中,我們定義了一個結構體student,包含了三個成員變量:id、name和score。我們使用了cJSON庫中的函數(shù)來完成JSON和結構體之間的相互轉換。其中,json_to_struct()函數(shù)接受一個json字符串作為參數(shù),返回一個student結構體;struct_to_json()函數(shù)接受一個student結構體作為參數(shù),返回一個json字符串。

需要注意的是,在使用cJSON庫時,我們需要在代碼中包含"cJSON.h"頭文件,并在連接時指定相應的庫文件。