2013-04-16 31 views
1

我有一个网页从互联网上获得,而内容是utf-8编码为一个字符串,它可能是这样的:如何从代表的UTF-8字符串获取源字符串

{"has_more": true, "items": [{"body": "\u6ca1\u6709\u4f20\u8bf4\u4e2d\u7684\u90a3\u4e48\u597d",...} 

我试着使用URLDecoder.decode(),但它不起作用,它输出的是输入的内容。有什么建议么?这是utf-8编码显式的String对象,它不是inputStream或者某物。我已经做了一些搜索工作,发现几乎没有关系。

+3

我认为你必须了解JSON。 http://en.wikipedia.org/wiki/JSON – Kishore

+0

这正是我想要的JSON值 – iCode

回答

1

的源代码符号为u编码(\uXXXX),但字符串本身是无法区分普通的字符串(爪哇/ JavaScript的),如\n\t

的JDK具有虽然转换工具:

native2ascii -encoding UTF-8 -reverse mypage.json plain-utf8.json 
+0

。现在我可以阅读这些文字。 – zoujyjs

+0

@zoujyjs你不应该以这种形式阅读它,你应该解析JSON并阅读结果。 – Esailija

+0

@Esailija是的,谢谢你的建议。我现在使用JSONObject来解析字符串,我只是想在测试Web界面时阅读一些示例输出。我认为谷歌GSON在这个应用程序中不够好,要将字符串转换为对象。 – zoujyjs

1

这是JSON编码,它以特定的方式处理某些特定的字符。它不是URL编码,因此不起作用。

为什么不尝试使用JSON库? json simpleGSON是很好的开始。

作为一个好奇:这里就是你所看到的编码描述:RFC4627

相关问题