前言
創(chuàng)新互聯(lián)建站的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、電商網(wǎng)站開(kāi)發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā)。JSON是JavaScript Object Notation的縮寫,是一種輕量級(jí)的數(shù)據(jù)交換形式,是一種XML的替代方案,而且比XML更小,更快而且更易于解析。因?yàn)镴SON描述對(duì)象的時(shí)候使用的是JavaScript語(yǔ)法,它是語(yǔ)言和平臺(tái)獨(dú)立的,并且這些年許多JSON的解析器和類庫(kù)被開(kāi)發(fā)出來(lái)。
JSON具有以下這些形式:
對(duì)象是一個(gè)無(wú)序的“‘名稱/值'對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開(kāi)始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值' 對(duì)”之間使用“,”(逗號(hào))分隔。
值的有序列表(An ordered list of values)。在大部分語(yǔ)言中,它被實(shí)現(xiàn)為數(shù)組(array),矢量(vector),列表(list),序列(sequence)。
這些都是常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)。目前,絕大部分編程語(yǔ)言都以某種形式支持它們。這使得在各種編程語(yǔ)言之間交換同樣格式的數(shù)據(jù)成為可能。
對(duì)于從其他服務(wù)器的url獲得數(shù)據(jù),我們一般都為json數(shù)據(jù)傳輸,比如服務(wù)器B要從服務(wù)器A的url獲得分頁(yè)信息,得到j(luò)son字符后如果可以方便快捷操作要轉(zhuǎn)為自己的java對(duì)象。
在此我試過(guò)三種轉(zhuǎn)json的第三方,一種google的gson,這種好像無(wú)法轉(zhuǎn)成功,一直報(bào)json格式錯(cuò)誤,但校驗(yàn)一直通過(guò)正確,嘗試失敗。第二種是net.sf.json的,這種就是無(wú)報(bào)錯(cuò),但是對(duì)象的值一直為空。只有json-simple可以成功轉(zhuǎn)對(duì)象
解析json
首先,我們要解析json,查看json是否為標(biāo)準(zhǔn)的json格式,我們可以在網(wǎng)上的很多在線格式化查看json,解析json為對(duì)象一般都換湯不換藥。
第一:就是要知道json結(jié)構(gòu),這里我先開(kāi)啟服務(wù)器A從他的url得到一串json數(shù)據(jù)。
把復(fù)制json數(shù)據(jù)把它扔在格式化工具可以很清楚的看出結(jié)構(gòu):
{ "eventList": [ { "id": 1030, "eventId": "1508779115818499700", "createTime": 1508779115000, "endTime": 1508865480000, "eventContent": "123", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1029, "eventId": "1508382907251660498", "createTime": 1508382906000, "endTime": 1508383020000, "eventContent": "ahhhhh", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1028, "eventId": "1508308708414580378", "createTime": 1508308721000, "endTime": 1508309040000, "eventContent": "30", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1027, "eventId": "1508308463330664814", "createTime": 1508308480000, "endTime": 1508308560000, "eventContent": "28", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1026, "eventId": "1508308463017144213", "createTime": 1508308479000, "endTime": 1508308560000, "eventContent": "27", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" } ], "page": "1", "size": "5", "isHasPage": "1" }