您好,登錄后才能下訂單哦!
XML在java和.NET中轉(zhuǎn)為Json數(shù)據(jù)時會出現(xiàn)這樣一個問題,當(dāng)節(jié)點中只有一個節(jié)點數(shù)據(jù)時是轉(zhuǎn)換為對象,有多個節(jié)點則是轉(zhuǎn)為數(shù)組,為了應(yīng)對這個問題我們需要在解析的時候進(jìn)行如下的處理,不然就會報異常:
數(shù)據(jù)1:數(shù)組格式
"Field": [ { "@name": "APPROVE", "@title": "審核人", "#text": "維尼·地里" }, { "@name": "RECEIVEDTIME", "@title": "任務(wù)到達(dá)時間", "#text": "2014/7/31 15:30:13" } ] |
數(shù)據(jù)2:對象形式
"Field": { "@name": "APPROVE", "@title": "審核人", "#text": "維尼·地里" } |
同一個接口如果請求數(shù)據(jù)時可能會得到這樣的兩個數(shù)據(jù),如果用同一套解析方法去解析,那肯定會報異常的,這當(dāng)然不是我們想看見的,對吧?繼續(xù)看看是如何解決的……
在解析方法中我們做如下判斷:
/** 解決數(shù)據(jù)是對象還是數(shù)組的方法 **/ jb = new JSONObject(resData); //獲取該字段對象 Object objectData = jb.get("Field"); //判斷是否為數(shù)組 |
解決問題的關(guān)鍵代碼就是紅色的兩句,只要你的代碼中如此去做了,不管他來什么樣的數(shù)據(jù)基本都不是問題,當(dāng)然如果碼友有更好的解決方式的請一起分享,謝謝!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。