您好,登錄后才能下訂單哦!
java讀取json數據出現亂碼的代碼:
//從json文件中讀取數據 StringBuffer stringBuffer = new StringBuffer(); try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; while((line=bufferedReader.readLine()) != null) { stringBuffer.append(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //開始解析 JSONObject jsonObject = new JSONObject(stringBuffer.toString());
解決
根據網上描述,將文件設置為UTF-8編碼,但是如果保存為UTF-8編碼文件,會在文件頭中多上3字節標識編碼類型的數據,而導致JSONObject對象解析失敗,原因:不是以{開頭。
思路:我們用編輯其打開,UTF-8編碼格式正常顯示,然后使用二進制編輯工具,刪除文件頭的UTF-8標識EF BB BF,然后在代碼中,使用InputStreamReader讓數據從字節流到字符流的過程中使用UTF-8編碼
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
以上就是java讀取json數據中文亂碼解決的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。