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

How to replace HTML escape characters in JSON String in Android

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

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

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

我也试过只解码内部部分,但也没用。那看起来像这样:[[0,"Rollen f&uumlr vergrabene Karte"]]

如何解码这些字符而不必替换所有字符?

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

但是,查看您显示的 json,显然服务器错误地编码了 HTML 转义符。没有附加分号,&uumlr 应该是 &uumlr;

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

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

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