我目前正在开发一个具有服务器同步功能的 Android 应用程序。我有一个 php 脚本,它从使用 JSON 编码的服务器向我发送数据库信息。此外,德语 ä、ö、ü、ß 和其他字符是使用 ä、ö、ü 等进行 html 转义的。当在我的 Android 应用程序中接收数据时,我想解码转义字符(当然)。
我用谷歌搜索了如何在 Android 中替换 html 转义字符,并找到了 HTML.fromHTML(htmlString).toString()
和StringEscapeUtils.unescapeHtml3(htmlString)
来自org.apache.commons.lang
图书馆。然而两者根本没有改变字符串。
应用程序接收的字符串示例:{"categories":[[0,"Rollen für vergrabene Karte"]],"roles":[],"sets":[],"set_roles":[],"teams":[]}
我也尝试只解码内部部分,但它也不起作用。然后看起来像这样:[[0,"Rollen für 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/