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