C語言中,我們經(jīng)常需要使用字典類型來存儲一些鍵值對數(shù)據(jù),如何將它們轉換成方便傳輸?shù)腏SON格式呢?
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <cjson/cJSON.h> int main() { cJSON *root, *item; root = cJSON_CreateObject(); //創(chuàng)建一個空的json對象 // 添加鍵值對 cJSON_AddItemToObject(root, "name", cJSON_CreateString("張三")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20)); item = cJSON_CreateArray(); cJSON_AddItemToObject(root, "scores", item); cJSON_AddItemToArray(item, cJSON_CreateNumber(90)); cJSON_AddItemToArray(item, cJSON_CreateNumber(80)); // 轉換成JSON字符串并輸出 char *str = cJSON_Print(root); printf("%s\n", str); cJSON_Delete(root); free(str); return 0; }
以上示例展示了如何使用cJSON庫將一個字典類型轉換成JSON格式字符串,主要步驟為:
- 使用cJSON_CreateObject()函數(shù)創(chuàng)建一個空的JSON對象。
- 使用cJSON_AddItemToObject()函數(shù)向?qū)ο笾刑砑渔I值對。
- 如果值是數(shù)組類型,則需要使用cJSON_CreateArray()函數(shù)創(chuàng)建一個空的數(shù)組對象,然后使用cJSON_AddItemToArray()向數(shù)組中添加元素。
- 使用cJSON_Print()函數(shù)將JSON對象轉換成字符串。
- 使用cJSON_Delete()函數(shù)釋放對象內(nèi)存。
- 使用free()函數(shù)釋放字符串內(nèi)存。
JSON格式是一種輕量級的數(shù)據(jù)交換格式,廣泛應用于網(wǎng)絡數(shù)據(jù)傳輸和存儲。使用C語言將字典類型轉換成JSON格式,可以方便地在后端發(fā)起數(shù)據(jù)請求、前端顯示和存儲等多個場景應用。