java - 如何在 Android 中替换 JSON 字符串中的 HTML 转义字符

标签 java android html regex html-escape-characters

我目前正在开发一个具有服务器同步功能的 Android 应用程序。我有一个 php 脚本,它从使用 JSON 编码的服务器向我发送数据库信息。此外,德语 ä、ö、ü、ß 和其他字符是使用 ä、ö、ü 等进行 html 转义的。当在我的 Android 应用程序中接收数据时,我想解码转义字符(当然)。

我用谷歌搜索了如何在 Android 中替换 html 转义字符,并找到了 HTML.fromHTML(htmlString).toString()StringEscapeUtils.unescapeHtml3(htmlString)来自org.apache.commons.lang图书馆。然而两者根本没有改变字符串。

应用程序接收的字符串示例:{"categories":[[0,"Rollen f&uumlr vergrabene Karte"]],"roles":[],"sets":[],"set_roles":[],"teams":[]}

我也尝试只解码内部部分,但它也不起作用。然后看起来像这样:[[0,"Rollen f&uumlr vergrabene Karte"]]

如何解码这些字符,而不必替换其中的每一个字符?

最佳答案

Html.fromHtml 应该可以完成这项工作。

但是,查看您显示的 json,显然服务器错误地对 HTML 转义进行了编码。未附加分号,ür 应为 ür;

我已经使用转义úü进行了检查,它正在工作。

String json = "{\"categories\":[[0,\"Rollen fúoobar tüoo vergrabene Karte\"]],\"roles\":[],\"sets\":[],\"set_roles\":[],\"teams\":[]}";

System.out.println("=======>" + Html.fromHtml(json).toString());

关于java - 如何在 Android 中替换 JSON 字符串中的 HTML 转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802963/

相关文章:

java - Android Volley - 检查互联网状态

android - Gradle 同步失败 : support-core-utils

java - 无法在我的 java 文件中使用 jar 库

java - Android Studio 中缺少注解处理

线程中的 Java 异常 EOFException

javascript - jQuery 隐藏和显示 Attr Src 图像未按预期切换

html - iPhone 上的渲染速度非常慢,我应该将表格转换为 div 吗?

java - 绑定(bind)到昂贵的 JSF 属性的正确方法是什么?

android - 如何在 android 中为不同的 2 密度(如 mdpi、ldpi、hdpi)使用 9 个补丁图像。?

javascript - 从 javascript 的列表中选择最多 x 个项目