2014-02-11 38 views
0

可以說,我從那個看起來像這樣的Web方法的XML響應:機器人 - 解析格式化字符串轉換成JSON數組的XML

<Response xmlns="http://you.wish.you.knew.com/"> 
<Result> 
[ 
&#xD; 
"IMG_20140210_212703.jpg", 
&#xD; 
"IMG_20140210_170020.jpg" 
&#xD; 
] 
</Result> 
</Response> 

我可是從一個WCF Web服務得到這一點,我真的不能亂用很多因爲它會中斷。我怎樣才能把它作爲一個字符串,並從中提取數據,所以我可以把它變成一個json數組或者我可以變成一個jsonarray的東西。

回答

0

步驟:

1:下載Java的json.jar

2:將此增加到/ libs文件夾的項目,然後添加到構建路徑。

用法:

import org.json.JSONException; 
import org.json.JSONObject; 
import org.json.XML; 

String testXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<parentNode>"  
+"<test1>1234</test1>"       
+ "<test2>" + "Test" + "</test2>" 
+ "<test3>" + 120 + "</test3>" 
+ "</parentNode>"; 

JSONObject jsonObj = null; 
try { 
    jsonObj = XML.toJSONObject(testXml); 
} catch (JSONException e) { 
    Log.e("JSON exception", e.getMessage()); 
    e.printStackTrace(); 
} 

Log.d("JSON", jsonObj.toString()); 

輸出:

JSON:

{ 「parentNode」:{ 「測試1」:1234, 「TEST2」: 「測試」, 「TEST3」:120 }}

+0

我試過這個,但它留下了json中的垃圾符號。它的xml標記符號像&#xd。我怎樣才能正確格式化字符串,所以它沒有所有時髦的字符。 –

0

所以我不想做一個快速和骯髒的修復程序,因爲我想實現一些圖書館,這將是一個很好的可靠的修復,這是可靠的,但我最終做的是取代'& #xd'字符與'\ n'在我的字符串,然後我可以變成一個jsonarray。在結束我的解決方案看起來簡直像這樣:

JSONObject json = XML.toJSONObject(response); 

temp = json.optJSONObject("UploadFileResponse") 
.optString("UploadFileResult").toString().replace("&#xd;", ""); 

return temp; 

我也徹底告別這戈帕爾曾提到Java的json.jar這是我從網上得到的地方在我的項目庫。

相關問題