java-JsonReader错误地转换unicode字符

我正在构建一个Android应用程序,并且我有包含Unicode字符串的JSON数据.接收数据并使用InputStreamReader解析数据时,Unicode字符串保持良好状态.但是,当我使用JsonReader解析JSON时,它似乎已将其转换为某种格式.我看了一下源代码,似乎并没有做任何与众不同的事情(显然我可能会遗漏一些东西),它只是获取字符串并将其保存到String变量中.有人对为什么我的Unicode字符串转换不正确有任何想法吗?

谢谢

最佳答案
您可以使用InputStreamReader将流解码为字符串,然后指定编码(例如UTF-8或Unicode),然后将字符串传递给JSONObject或JSONArray来创建此类对象.

JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));

参考文件:

> http://developer.android.com/reference/java/io/InputStreamReader.html
> http://developer.android.com/reference/android/util/JsonReader.html
> http://developer.android.com/reference/org/json/JSONObject.html
> http://developer.android.com/reference/org/json/JSONArray.html

转载注明原文:java-JsonReader错误地转换unicode字符 - 代码日志