java讀取json資料出現亂碼的程式碼:(推薦:java影片教學)
//从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知識請關注java基礎教學欄位。
以上是java讀取json資料中文亂碼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!