Json解析将html标记转换为转义序列

时间:2012-02-06 06:54:40

标签: android android-webview

我从服务器中获取了几个html内容,我正在使用JSON解析。但是这会将我的html内容转换为unicode值。

对于例如:<p>Spend minimum $10 (in a single same-day receipt) at any outlet<\/p>正在转换为,

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

现在,如果我尝试将其设置为我的WebView,它将自动显示HTML标记。如果我尝试使用TextUtils.encode对数据进行编码,则会显示带有unicode值的文本。

任何人都可以帮助我。

我应该如何获取HTML内容并在WebView中显示?

4 个答案:

答案 0 :(得分:2)

我没有准确地提出您的问题,但是,如果您想在网页视图中加载HTML,可以使用

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

如果您想转换&amp; lt和&amp; gt喜欢表示法,可以使用Jsoup图书馆

答案 1 :(得分:1)

伙计们感谢您的帮助。但我自己已经解决了这个问题。我已经阐述了解决问题的方法。

我做的是,

1)将unicode值转换为Spanned,就像这样,

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");

答案 2 :(得分:0)

实际上,在传递给JSON编码器之前,这不是JSON编码器将数据转换为HTML实体,而是将其他层转换为。

JSON与HTML标记无关,通常只有解析器编码的引号(大多数解析器都支持Unicode)。

您可能需要更改服务器返回数据的方式,省略将HTML标记括号编码为HTML实体或将实体解码回应用程序。

<强>更新 要解码HTML标记中使用的HTML实体(以及其他标记),您可以使用StringEscapeUtils.unescapeHTML()

答案 3 :(得分:0)

要在Webview中显示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/");