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