|
JSON結(jié)構(gòu)體熟悉使用cJSON庫(kù)函數(shù)可從cJSON結(jié)構(gòu)體入手,cJSON結(jié)構(gòu)體如下所示:
1.png (31.31 KB, 下載次數(shù): 71)
下載附件
2022-3-17 16:23 上傳
幾點(diǎn)說(shuō)明
1.cJOSN結(jié)構(gòu)體為一個(gè)雙向列表,并可通過(guò)child指針訪問下一層。
2.type變量決定數(shù)據(jù)項(xiàng)類型(鍵的類型),數(shù)據(jù)項(xiàng)可以是字符串可以是整形,也可以是浮點(diǎn)型。如果是整形值的話可從valueint,如果是浮點(diǎn)型的話可從valuedouble取出,以此類推。
3.string可理解為節(jié)點(diǎn)的名稱,綜合此處的第2點(diǎn)可理解為“鍵”的名稱。
4.如果是對(duì)象或者數(shù)組,采用的是雙向鏈表來(lái)實(shí)現(xiàn),鏈表中的每一個(gè)節(jié)點(diǎn)表示數(shù)組中的一個(gè)元素或者對(duì)象中的一個(gè)字段。其中child表示頭結(jié)點(diǎn),next、prev分別表示下一個(gè)節(jié)點(diǎn)和前一個(gè)節(jié)點(diǎn)。valuestring、valueint、valuedouble分別表示字符串、整數(shù)、浮點(diǎn)數(shù)的字面量。
cJSON作為Json格式的解析庫(kù),其主要功能無(wú)非就是構(gòu)建和解析Json格式了,用途就是一端將要發(fā)送的數(shù)據(jù)已cjson形式封裝,然后發(fā)送,另一端收到此數(shù)據(jù)后,還是按cjson形式解析,就得到想要的數(shù)據(jù)了
通過(guò)鍵值獲取到鍵值內(nèi)容后可以通過(guò)以下方式將鍵值和數(shù)據(jù)轉(zhuǎn)化成int double string 類型
Key=cJSON_GetArrayItem(get_key_array,i)->valuestring;
proce_date=cJSON_GetObjectItem(get_date_array,Key)->valuestring
|
|