在 C 語言中,實現 JSON 數據可以使用第三方庫 cJSON。
cJSON 是一個輕量級、高效和可移植的 C 語言庫,用于解析和生成 JSON 數據格式。它支持所有的 JSON 數據類型,包括字符串、數字、對象、數組和布爾值。
#include "cJSON.h" int main() { // 創建一個 JSON 對象 cJSON *root = cJSON_CreateObject(); // 添加一個字符串類型的鍵值對 cJSON_AddStringToObject(root, "name", "張三"); // 添加一個數字類型的鍵值對 cJSON_AddNumberToObject(root, "age", 25); // 添加一個對象類型的鍵值對 cJSON *address = cJSON_CreateObject(); cJSON_AddStringToObject(address, "province", "浙江省"); cJSON_AddStringToObject(address, "city", "杭州市"); cJSON_AddItemToObject(root, "address", address); // 將 JSON 對象序列化為字符串 char *json_str = cJSON_Print(root); printf("%s\n", json_str); // 釋放內存 cJSON_Delete(root); free(json_str); return 0; }
上面的代碼中,我們通過 cJSON_CreateObject 函數創建了一個空的 JSON 對象,然后通過 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 函數分別添加了一個字符串類型和一個數字類型的鍵值對。
最后,我們又通過 cJSON_CreateObject 函數創建了一個內嵌對象,并通過 cJSON_AddItemToObject 函數將其作為值添加到了 name 為 address 的鍵中。最后,我們使用 cJSON_Print 函數將 JSON 對象序列化為字符串,并通過 printf 函數輸出。
需要注意的是,在完成操作后一定要調用 cJSON_Delete 函數和 free 函數來釋放內存,防止內存泄漏。
上一篇python 矢量圖片
下一篇python 睡眠一秒