Google Maps Query返回的JSON包含\ x26等编码字符(如何解码?)

时间:2013-03-20 08:13:04

标签: java json string google-maps utf-8

在Java应用程序中,我使用\x26等字符获取JSON(来自Google地图),我想将其转换为原始字符&。据我所知,这是一个UTF-8表示法,但我不完全确定。在源JSON中可以出现所有类型的编码字符(例如\x3c/div\x3e)。我怎么解码它们?

我试过了:

String json = "\\x3c/div\\x3e";
byte [] b = json.getBytes("UTF-8");
json = new String(b,"UTF-8");

没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

让它发挥作用:

String json = "\\x3c/div\\x3e";        
json = URLDecoder.decode(json.replace("\\x", "%"), "UTF-8")
        .replace("\\=", "=")
        .replace("\\&", "=")
        .replace("\\?", "=");

Google Maps Query JSON结果导致的其他问题需要另外三个替换。