在計算機編程中,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 序列化為類的過程。在實際應用中,應根據需求進行合理的調整和優化。
下一篇vue全套知識整理