在C語言中,將自定義類對象轉換成JSON對象,可以用第三方庫cJSON實現,其基本思路是將類中的屬性逐一轉換成JSON元素。下面是一個示例:
#include <stdio.h> #include <stdlib.h> #include "cJSON.h" typedef struct { int id; char name[20]; float score; } Student; void toJson(Student *stu, char **out){ cJSON *root = cJSON_CreateObject(); // 創建根元素 cJSON_AddNumberToObject(root, "id", stu->id); // 添加整型屬性 cJSON_AddStringToObject(root, "name", stu->name); // 添加字符串屬性 cJSON_AddNumberToObject(root, "score", stu->score); // 添加浮點型屬性 *out = cJSON_PrintUnformatted(root); // 生成JSON字符串 cJSON_Delete(root); // 釋放內存 } int main(){ Student stu = {1, "小明", 89.5}; char *json; toJson(&stu, &json); // 轉成JSON printf("JSON: %s\n", json); free(json); // 釋放內存 return 0; }
運行結果:
JSON: {"id":1,"name":"小明","score":89.5}
可以看到,我們成功地將Student類對象轉換成了JSON對象,并輸出了JSON字符串。