XML在java和.NET中轉(zhuǎn)為Json數(shù)據(jù)時(shí)會(huì)出現(xiàn)這樣一個(gè)問題,當(dāng)節(jié)點(diǎn)中只有一個(gè)節(jié)點(diǎn)數(shù)據(jù)時(shí)是轉(zhuǎn)換為對(duì)象,有多個(gè)節(jié)點(diǎn)則是轉(zhuǎn)為數(shù)組,為了應(yīng)對(duì)這個(gè)問題我們需要在解析的時(shí)候進(jìn)行如下的處理,不然就會(huì)報(bào)異常:
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,網(wǎng)站建設(shè)、成都做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
數(shù)據(jù)1:數(shù)組格式
"Field": [ { "@name": "APPROVE", "@title": "審核人", "#text": "維尼·地里" }, { "@name": "RECEIVEDTIME", "@title": "任務(wù)到達(dá)時(shí)間", "#text": "2014/7/31 15:30:13" } ] |
數(shù)據(jù)2:對(duì)象形式
"Field": { "@name": "APPROVE", "@title": "審核人", "#text": "維尼·地里" } |
同一個(gè)接口如果請(qǐng)求數(shù)據(jù)時(shí)可能會(huì)得到這樣的兩個(gè)數(shù)據(jù),如果用同一套解析方法去解析,那肯定會(huì)報(bào)異常的,這當(dāng)然不是我們想看見的,對(duì)吧?繼續(xù)看看是如何解決的……
在解析方法中我們做如下判斷:
/** 解決數(shù)據(jù)是對(duì)象還是數(shù)組的方法 **/ jb = new JSONObject(resData); //獲取該字段對(duì)象 Object objectData = jb.get("Field"); //判斷是否為數(shù)組 |
解決問題的關(guān)鍵代碼就是紅色的兩句,只要你的代碼中如此去做了,不管他來什么樣的數(shù)據(jù)基本都不是問題,當(dāng)然如果碼友有更好的解決方式的請(qǐng)一起分享,謝謝!