C 語言是一種非常底層的編程語言,開發者可以使用它來開發各種各樣的系統和應用軟件。在開發過程中,我們經常會需要將 C 語言中的結構體轉換成 JSON 格式,然后傳輸給其他設備或者服務器。實現這個功能需要我們用到一些 C 語言庫,例如 cJSON,它是一個非常簡單的 JSON 解析庫,可以幫助我們將 C 語言中的結構體轉換成 JSON 格式。
#include#include #include #include"cJSON.h" typedef struct Student { char name[50]; int age; char gender[5]; } Student; int main() { Student student; strcpy(student.name, "張三"); student.age = 20; strcpy(student.gender, "男"); // 將結構體轉換成 cJSON 對象 cJSON* json = cJSON_CreateObject(); cJSON_AddStringToObject(json, "name", student.name); cJSON_AddNumberToObject(json, "age", student.age); cJSON_AddStringToObject(json, "gender", student.gender); // 將 cJSON 對象轉換成 JSON 格式 char* jsonString = cJSON_Print(json); printf("%s\n", jsonString); // 釋放內存 free(jsonString); cJSON_Delete(json); return 0; }
在上面的代碼中,我們首先定義了一個學生結構體,然后在 main 函數中創建了一個實例化的結構體對象 student,并給它的各個成員變量賦值。接著,我們用 cJSON_CreateObject 函數創建了一個 cJSON 對象,并使用 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 函數將 student 對象中的各個成員變量添加到 cJSON 對象中。最后,我們用 cJSON_Print 函數將 cJSON 對象轉換成了 JSON 格式,并輸出到終端上。
結構體轉換成 JSON 格式并不是一件難事,只需要使用 cJSON 庫中提供的函數將結構體中的成員變量添加到 cJSON 對象中,再使用 cJSON_Print 函數轉換即可。同時,為了保證程序穩定性和可讀性,我們需要及時釋放內存。
下一篇vue cli單頁