2017-09-18 31 views
0

我有一个包含硒框架键值对的ja.json文件:阅读从JSON日文文本:错误的字符

“钥匙”: “!私はあなたを爱しています”,

我已经将文件保存为UTF-8格式。但是当我试图从json读取值时,我将字符串设置为“?????”

我使用下面的代码:

Object obj = parser.parse(new FileReader(filePath)); 
    JSONObject jsonObject = (JSONObject) obj; 
    String text= (String) jsonObject.get(key); 
    String expectedValue = new String(text.getBytes("UTF-8"),"UTF-8"); 

还有什么我能做得到(如果需要或任何其他形式)从JSON文件日文字符和发送?

+0

'FileReader'使用通常不是UTF-8的默认平台编码。相反,你可以使用像'new InputStreamReader(new FileInputStream(filePath),“UTF-8”)''。 – Pshemo

回答

1

您需要阅读与正确的字符集的文件,例如:

Object obj = parser.parse(new InputStreamReader(
    new FileInputStream(filePath), StandardCharsets.UTF_8)); 

FileReader将使用该平台的编码无论是您的系统上。

任何尝试在读取编码错误的文件后修复编码都将失败。所以你的线

String expectedValue = new String(text.getBytes("UTF-8"),"UTF-8"); 

是无用的。

+0

太棒了! 它的工作。谢谢 –