色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

cjson將struct轉json

李中冰1年前7瀏覽0評論

cjson是一個輕量級的C語言JSON解析庫。它可以將C語言中的結構體(struct)轉換為JSON格式的字符串,也可以將JSON字符串解析成C語言中的結構體。本文將介紹cjson將結構體轉換為JSON字符串的使用方法。

首先需要在代碼中使用cjson庫,可以在項目中添加cJSON.c和cJSON.h文件,或者使用其他方法導入該庫。

#include#include#include#include "cjson.h"

定義一個結構體,例如:

typedef struct {
int id;
char name[20];
float score;
} Student;

接下來定義一個Student結構體的實例,并賦值:

Student s;
s.id = 1;
strcpy(s.name, "Tom");
s.score = 90.5;

調用cJSON庫的接口,將Student結構體轉換為JSON格式字符串:

cJSON *json = cJSON_CreateObject();
cJSON_AddNumberToObject(json, "id", s.id);
cJSON_AddStringToObject(json, "name", s.name);
cJSON_AddNumberToObject(json, "score", s.score);
char* str = cJSON_Print(json);
cJSON_Delete(json);

其中,json是一個cJSON結構體指針,通過cJSON_CreateObject()函數創建。該函數會返回一個cJSON結構體指針,表示創建一個JSON對象(Object)。cJSON_AddNumberToObject()函數可以將一個數值型變量添加到JSON對象中,cJSON_AddStringToObject()函數可以將一個字符串添加到JSON對象中。最后調用cJSON_Print()函數將cJSON結構體指針轉換為JSON格式的字符串,返回值即為轉換后的字符串。最后使用cJSON_Delete()函數刪除JSON對象。

最終生成的JSON字符串如下:

{
"id": 1,
"name": "Tom",
"score": 90.5
}

可以看到,結構體中的每個成員變量都被轉換為了JSON對象中的一個鍵值對。使用cjson將struct轉換為JSON字符串是非常方便的操作,可以方便地為數據進行序列化和反序列化。