C語(yǔ)言中可以使用JSON便于數(shù)據(jù)的傳遞和解析,JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,支持?jǐn)?shù)組和對(duì)象等數(shù)據(jù)類型。傳遞對(duì)象數(shù)組在C語(yǔ)言中也是非常方便的,只需要將數(shù)組轉(zhuǎn)化為JSON格式后進(jìn)行傳輸即可。
#include#include #include #include "cJSON.h" typedef struct{ int id; char name[20]; } Item; int main() { Item items[3] = { {1, "Apple"}, {2, "Banana"}, {3, "Orange"} }; cJSON *root = cJSON_CreateArray(); // 創(chuàng)建根節(jié)點(diǎn),類型為數(shù)組 for (int i = 0; i< 3; ++i) { cJSON *item = cJSON_CreateObject(); // 創(chuàng)建對(duì)象節(jié)點(diǎn) cJSON_AddNumberToObject(item, "id", items[i].id); // 給對(duì)象添加屬性 cJSON_AddStringToObject(item, "name", items[i].name); cJSON_AddItemToArray(root, item); // 向根節(jié)點(diǎn)數(shù)組添加對(duì)象節(jié)點(diǎn) } char *jsonStr = cJSON_Print(root); // 將根節(jié)點(diǎn)轉(zhuǎn)化為JSON字符串 printf("%s", jsonStr); // 打印JSON字符串 cJSON_Delete(root); // 釋放內(nèi)存 return 0; }
以上代碼通過(guò)cJSON庫(kù)實(shí)現(xiàn)了將對(duì)象數(shù)組轉(zhuǎn)化為JSON字符串的功能。首先創(chuàng)建根節(jié)點(diǎn),類型為數(shù)組,然后遍歷對(duì)象數(shù)組,創(chuàng)建對(duì)象節(jié)點(diǎn),并使用cJSON_AddXXXToObject函數(shù)給對(duì)象添加屬性。最后將對(duì)象節(jié)點(diǎn)添加到根節(jié)點(diǎn)數(shù)組中,調(diào)用cJSON_Print將根節(jié)點(diǎn)轉(zhuǎn)化為JSON字符串即可。
上一篇vue br