JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,已廣泛應(yīng)用于前后端的數(shù)據(jù)傳輸和存儲(chǔ)中。在 C 語(yǔ)言中,可以通過(guò)第三方庫(kù) cJSON 來(lái)實(shí)現(xiàn) JSON 的創(chuàng)建和解析。
使用 cJSON 創(chuàng)建 JSON 可以分為以下幾個(gè)步驟:
// 聲明一個(gè) cJSON 對(duì)象 cJSON *root = NULL; // 創(chuàng)建 JSON 對(duì)象 root = cJSON_CreateObject(); // 向 JSON 對(duì)象中添加字段和值 cJSON_AddItemToObject(root, "name", cJSON_CreateString("張三")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(18)); // 將 JSON 對(duì)象轉(zhuǎn)換為字符串 char *json_str = cJSON_Print(root);
cJSON_CreateObject() 創(chuàng)建一個(gè) cJSON 對(duì)象,返回值為指向該對(duì)象的指針。cJSON_AddItemToObject() 用于往 cJSON 對(duì)象中添加字段和值,第一個(gè)參數(shù)為 cJSON 對(duì)象,第二個(gè)參數(shù)為字段名,第三個(gè)參數(shù)為值,其中值可以是 cJSON_CreateString()、cJSON_CreateNumber()、cJSON_CreateBool() 等方法創(chuàng)建的。
最后,cJSON_Print() 會(huì)將 cJSON 對(duì)象轉(zhuǎn)換為字符串,返回值為指向字符串的指針。需要注意的是,調(diào)用完 cJSON_Print() 之后,需要使用 cJSON_Delete() 方法釋放 cJSON 對(duì)象。
printf("JSON: %s\n", json_str); cJSON_Delete(root);
使用 cJSON 可以輕松地創(chuàng)建符合所需格式的 JSON 數(shù)據(jù),在實(shí)際應(yīng)用中使用也很方便,可以大大提高前后端數(shù)據(jù)傳輸和存儲(chǔ)的效率。