JsonReader错误地转换unicode字符
问题描述:
我正在构建一个Android应用程序,并且我有包含Unicode字符串的JSON数据。当接收到数据并使用InputStreamReader解析数据时,Unicode字符串保持不变。但是,当我使用JsonReader解析JSON时,它似乎已将其转换为某种格式。我查看了源代码,它看起来好像没有做任何不寻常的事情(显然我可能会错过某些东西) - 它只是接受字符串并将其保存到一个String变量中。有没有人有任何想法,为什么我的Unicode字符串被错误地转换?JsonReader错误地转换unicode字符
由于
答
可以使用InputStreamReader
您的流进行解码,以串并指定编码(例如UTF-8或Unicode),则你的字符串传递给JSONObject
或JSONArray
创建这样的对象。
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
参考文献:
+0
IIRC字符集被称为“UTF-8”(带短划线)。 –
显示我们的代码:你用什么作为输入'JsonRe ader'?你如何构建'InputStreamReader'?你是否在任何地方指定编码? *它如何被错误地转换?什么是输入?输出是什么? –