2012-02-06 85 views
3

我從我的服務器中爲我使用JSON解析獲取少量html內容。但是這將我的html內容轉換爲unicode值。Json解析將html標記轉換爲轉義序列

對於如:<p>Spend minimum $10 (in a single same-day receipt) at any outlet<\/p>,如果我嘗試將其設置爲我的WebView它顯示HTML標記本身越來越轉化爲,

;p&gt;Spend minimum $10 (in a single same-day receipt) at any outlet &lt;/p&gt; 

現在。如果我嘗試使用TextUtils.encode對數據進行編碼,它將顯示帶有unicode值的文本。

任何人都可以幫助我。

我應該如何獲取一個HTML內容和WebView中顯示呢?

回答

1

傢伙感謝您的幫助。但我自己解決了這個問題。我詳細闡述瞭解決問題的方法。

我做了什麼,

1)轉換爲Unicode值爲跨這樣,

Spanned ss=Html.fromHtml(;p&gt;Spend minimum $10 (in a single same-day receipt) at any outlet &lt;/p&gt;"); 

2)現在轉換這個跨區爲String這樣,

String tempString=ss.toString(); 

3),現在將其設置爲的WebView這解決了這個問題,

webView.loadData(tempString, "text/html","UTF-8"); 
0

其實這不是JSON編碼器將數據轉換爲HTML實體,而是一些其他的層,才傳遞給JSON編碼器。

JSON無關HTML標記,通常只有解析器編碼引號(Unicode的是大多數解析器支持)。

您可能需要更改數據的方式是由服務器返回,省略HTML標籤的編碼括號爲HTML實體或實體解碼您backin應用。

更新: 來解碼HTML標籤中使用HTML實體(和其他人也是如此),你可以使用StringEscapeUtils.unescapeHTML()

+0

如果它不是問題,你能建議我如何以我想要的格式顯示文本。 – 2012-02-06 07:08:56

+0

@AndroSelva,我已經用可能的解決方案更新了我的答案... – 2012-02-06 07:25:02

+0

感謝您的幫助啊..但我找到了一個簡單的解決方案。我在這裏發佈了我的答案。 – 2012-02-06 08:22:46

0

要顯示的網頁視圖中HTML頁面爲什麼您需要的JSON。在XML中創建Web視圖並在代碼中寫下以下代碼在Activity中可以看到HTML頁面。

webView = (WebView)findViewById(R.id.webView); 
FrameLayout mContentView = (FrameLayout) getWindow().  
getDecorView().findViewById(android.R.id.content);   
final View zoom = this.webView.getZoomControls();   
mContentView.addView(zoom, ZOOM_PARAMS);     
zoom.setVisibility(View.GONE); 
webView.loadUrl("http://www.google.co.in/"); 
+0

我知道這一點,但問題是使用unicode字符串到我的webview。感謝您的幫助,但我已經解決了我的問題。 – 2012-02-06 08:22:01

2

我沒有得到你的問題正是,但是,如果你想在Web視圖加載HTML中你可以使用

webView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null); 

,如果你想轉換& LT和& GT類似的符號你可以使用Jsoup圖書館