C JSON Writer是一個開源的C語言庫,用于將JSON數據寫入char緩沖區。這個庫是在MIT許可下發布的,可以免費使用。
使用C JSON Writer庫,可以方便地將C結構體、數組和對象轉換成JSON格式的字符串。
下面是一個簡單的示例代碼,展示了如何使用C JSON Writer將一個C結構體轉換成JSON格式:
#include "cJSON.h" typedef struct { char name[50]; int age; double weight; } Person; int main() { Person person = {"Tom", 25, 65.5}; cJSON *json = cJSON_CreateObject(); cJSON_AddStringToObject(json, "name", person.name); cJSON_AddNumberToObject(json, "age", person.age); cJSON_AddNumberToObject(json, "weight", person.weight); char *json_str = cJSON_Print(json); cJSON_Delete(json); printf("%s", json_str); free(json_str); return 0; }
在上面的代碼中,我們首先定義了一個Person結構體,包含name、age和weight三個成員變量。
然后,我們使用cJSON_CreateObject函數創建了一個cJSON對象,并使用cJSON_AddStringToObject、cJSON_AddNumberToObject等函數向這個對象中添加了成員。
接著,我們使用cJSON_Print函數將這個cJSON對象轉換成JSON格式的字符串。
最后,我們釋放了這個cJSON對象,并輸出了生成的JSON字符串。需要注意的是,由于cJSON_Print函數中使用了malloc動態申請內存,因此我們需要在使用完后調用free函數釋放。
除了上面的函數,C JSON Writer庫還提供了許多其他的函數,例如cJSON_CreateArray、cJSON_AddItemToArray、cJSON_AddItemToObject等,可以方便地創建和添加JSON數據。更多詳細的信息可以參考C JSON Writer的官方文檔。