2017-09-18 33 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

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