2012-02-06 60 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图书馆