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

c 將json序列化為類

謝彥文2年前7瀏覽0評論

在計算機編程中,C 應該是大家都很熟悉的一種編程語言了。而在數據交互中,JSON 也是被廣泛使用的一種數據格式。本文將介紹如何在 C 語言中將 JSON 序列化為類,并提供基本示例。

首先,我們需要使用一個 JSON 序列化庫,這里我們選擇 cJSON 庫。cJSON 是一個輕量級的 C 語言 JSON 解析庫,它將 JSON 數據解析為 C 本地的一個結構體,同時也可以將 C 結構體序列化為 JSON 數據。

#include <cJSON.h>
// 定義一個類(結構體)
typedef struct {
int id;
char name[20];
float score;
} Student;
int main() {
Student student = {
1,
"小明",
90.5
};
// 將 C 結構體序列化為 JSON 數據
cJSON *json = cJSON_CreateObject();
cJSON_AddNumberToObject(json, "id", student.id);
cJSON_AddStringToObject(json, "name", student.name);
cJSON_AddNumberToObject(json, "score", student.score);
char *json_str = cJSON_Print(json);
printf("%s\n", json_str);
// 將 JSON 數據解析為 C 結構體
cJSON *json_parse = cJSON_Parse(json_str);
Student student_parse = {
cJSON_GetObjectItem(json_parse, "id")->valueint,
cJSON_GetObjectItem(json_parse, "name")->valuestring,
cJSON_GetObjectItem(json_parse, "score")->valuedouble
};
printf("%d %s %.1f", student_parse.id, student_parse.name, student_parse.score);
// 釋放內存
cJSON_Delete(json);
cJSON_Delete(json_parse);
free(json_str);
return 0;
}

在上述示例中,我們定義了一個 Student 類,并將其序列化為 JSON 數據,然后又將 JSON 數據解析為 C 結構體。這種方式在網絡通信、存儲數據等場景中非常常見。

通過該示例,相信讀者已經初步了解了如何在 C 語言中使用 cJSON 庫將 JSON 序列化為類的過程。在實際應用中,應根據需求進行合理的調整和優化。