cJSON是一款非常實(shí)用的C語言庫,它能幫助我們快速地構(gòu)建和解析JSON數(shù)據(jù)。而且,使用cJSON構(gòu)建JSON數(shù)據(jù)時(shí),我們可以非常方便地為各個(gè)字段指定內(nèi)容。
在cJSON中,我們可以通過如下方式創(chuàng)建一個(gè)JSON對(duì)象:
cJSON *root = cJSON_CreateObject();
在創(chuàng)建完JSON對(duì)象后,我們需要給它添加一些字段。下面的代碼演示了如何使用cJSON添加一個(gè)字符串類型的字段:
cJSON_AddStringToObject(root, "name", "小明");
這個(gè)代碼將在JSON對(duì)象中添加一個(gè)名為"name",內(nèi)容為"小明"的字符串字段。
接下來,我們將演示如何使用cJSON向服務(wù)器發(fā)送JSON數(shù)據(jù)。首先,我們需要將JSON對(duì)象轉(zhuǎn)換成字符串:
char *json_str = cJSON_Print(root);
代碼執(zhí)行完畢后,我們就得到了一個(gè)JSON格式的字符串。接著,我們就可以使用普通的socket API向服務(wù)器發(fā)送這個(gè)JSON數(shù)據(jù)了:
// sock為已連接的socket描述符 send(sock, json_str, strlen(json_str), 0);
通過這個(gè)API,我們將JSON數(shù)據(jù)發(fā)送給了服務(wù)器。這樣,服務(wù)器就可以解析出我們發(fā)送的JSON數(shù)據(jù),并對(duì)它進(jìn)行處理了。