【问题标题】:JSON returned by Google Maps Query contains encoded characters like \x26 (how to decode?)Google Maps Query 返回的 JSON 包含像 \x26 这样的编码字符(如何解码?)
【发布时间】:2013-03-09 05:45:42
【问题描述】:
在 Java 应用程序中,我得到带有 \x26 等字符的 JSON(来自 Google Maps),我想将其转换为其原始字符 &。据我所知,这是一个 UTF-8 符号,但我不完全确定。在源 JSON 中可以出现各种编码字符(例如\x3c/div\x3e)。我怎样才能解码它们?
我试过了:
String json = "\\x3c/div\\x3e";
byte [] b = json.getBytes("UTF-8");
json = new String(b,"UTF-8");
运气不好。有什么想法吗?
【问题讨论】:
标签:
java
json
string
google-maps
utf-8
【解决方案1】:
让它工作:
String json = "\\x3c/div\\x3e";
json = URLDecoder.decode(json.replace("\\x", "%"), "UTF-8")
.replace("\\=", "=")
.replace("\\&", "=")
.replace("\\?", "=");
Google Maps Query JSON Result 的结果出现的其他问题需要另外三个替换。