在進(jìn)行前后端交互時(shí),經(jīng)常會(huì)涉及到使用 JSON 格式傳輸數(shù)據(jù)。而在 C 語言里,構(gòu)造 JSON 數(shù)據(jù)需要手動(dòng)編寫字符拼接操作,極其繁瑣。為了解決這個(gè)問題,我們可以使用第三方庫進(jìn)行 JSON 數(shù)據(jù)構(gòu)造,例如 cJSON。
使用 cJSON 構(gòu)造 JSON 數(shù)據(jù),需要先將其頭文件引入:
#include "cJSON.h"
接著,我們可以使用 cJSON_CreateObject() 創(chuàng)建 JSON 對(duì)象,并使用 cJSON_AddItemToObject() 將各項(xiàng)數(shù)據(jù)添加到 JSON 對(duì)象中,例如:
cJSON *root = cJSON_CreateObject(); // 創(chuàng)建 JSON 對(duì)象
cJSON_AddStringToObject(root, "name", "Tom"); // 添加字符串類型數(shù)據(jù)
cJSON_AddNumberToObject(root, "age", 18); // 添加數(shù)字類型數(shù)據(jù)
cJSON *interests = cJSON_CreateArray(); // 創(chuàng)建 JSON 數(shù)組
cJSON_AddItemToObject(root, "interests", interests); // 將數(shù)組添加到 JSON 對(duì)象中
cJSON_AddItemToArray(interests, cJSON_CreateString("reading")); // 向數(shù)組中添加字符串類型數(shù)據(jù)
cJSON_AddItemToArray(interests, cJSON_CreateString("writing"));
char *json_str = cJSON_Print(root); // 將 JSON 對(duì)象轉(zhuǎn)化為字符串
cJSON_Delete(root); // 釋放 JSON 對(duì)象內(nèi)存
最后,我們可以將構(gòu)造好的 cJSON 對(duì)象使用 cJSON_Print() 函數(shù)轉(zhuǎn)成 JSON 字符串。
使用 cJSON 構(gòu)造 JSON 數(shù)據(jù),不僅能夠大大提高開發(fā)效率,還能讓代碼更加簡(jiǎn)潔易懂。