時間:2017-05-11 11:08:18 作者:不思議游戲 瀏覽量:76
JSON結(jié)構(gòu)有兩種結(jié)構(gòu) json簡單說就是javascript中的對象和數(shù)組,所以這兩種結(jié)構(gòu)就是對象和數(shù)組兩種結(jié)構(gòu),通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)1、對象:對象在js中表示為“{}”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key:value,key:value,...}的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。2、數(shù)組:數(shù)組在js中是中括號“[]”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。經(jīng)過對象、數(shù)組2種結(jié)構(gòu)就可以組合成復(fù)雜的數(shù)據(jù)結(jié)構(gòu)了。
如:
{ "name": "中國", "province": [{ "name": "黑龍江", "cities": { "city": ["哈爾濱", "大慶"] } }, { "name": "廣東", "cities": { "city": ["廣州", "深圳", "珠海"] } }, { "name": "臺灣", "cities": { "city": ["臺北", "高雄"] } }, { "name": "新疆", "cities": { "city": ["烏魯木齊"] } }] }
我們可以借助工具h(yuǎn)ttp://tool.oschina.net/codeformat/json測試是否是JSON,格式化后如圖:
下面舉例說明JSON提取的2種方式:
1、JSON數(shù)據(jù)源:URL網(wǎng)址:
我們需要對JSON網(wǎng)址http://car.interface.autohome.com.cn/dealer/LoadDealerPrice.ashx?_callback=LoadDealerPrice&type=1&seriesid=3170&city=340100做采集
分析得出:此URL的整個源代碼是個完整的JSON。 所以JSON數(shù)據(jù)源選擇 URL網(wǎng)址
然后勾選循環(huán)匹配,就可以采集到整個JSON里的數(shù)據(jù)里
如圖:
2、JSON數(shù)據(jù)源:JSON文本: 另外一種情況,網(wǎng)址里的源碼不全是JSON,而只是一部分代碼是JSON形式,此時我們需要提取出這段JSON文本,然后再格式化。
例如網(wǎng)址http://car.autohome.com.cn/config/series/3170.html
所以我們需要通過多頁的形式,來獲取本頁地址里這部分JSON代碼,然后在設(shè)置JSON表達(dá)式。
如圖