c struct 轉 json是將C語言中的struct類型轉換為json格式的文本,以便于在網絡傳送或存儲。下面我們來看如何使用cJSON庫來實現轉換。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> typedef struct student{ char name[20]; int age; float score; } Student; int main(){ Student stu = {"Mike", 20, 90.5f}; cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", stu.name); cJSON_AddNumberToObject(root, "age", stu.age); cJSON_AddNumberToObject(root, "score", stu.score); char* json_str = cJSON_Print(root); printf("%s\n", json_str); cJSON_Delete(root); free(json_str); return 0; }
在以上代碼中,我們定義了一個名為student的結構體,其中包括name、age、score三個成員變量。我們使用cJSON庫提供的函數cJSON_CreateObject()創建一個json對象,然后使用cJSON_AddxxxToObject()函數添加成員變量,并使用cJSON_Print()函數將json對象轉換為json格式的字符串。最后記得要釋放內存。
使用cJSON庫進行struct對象轉json是非常方便的。我們只需要在添加成員變量時選擇合適的cJSON_AddxxxToObject()函數即可。另外,cJSON庫還提供了其他常用的json操作函數,如解析json字符串等。