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());
Solution
온라인 설명에 따라 파일을 UTF-8 인코딩으로 설정하지만 UTF-로 저장된 경우 8 인코딩 파일의 경우 파일 헤더에 인코딩 유형을 식별하는 데이터가 3바이트 더 있으므로 JSONObject 개체를 구문 분석하지 못합니다. 이유는 {로 시작하지 않기 때문입니다.
아이디어: 편집하여 열면 UTF-8 인코딩 형식이 정상적으로 표시됩니다. 그런 다음 바이너리 편집 도구를 사용하여 파일 헤더에서 UTF-8 식별자 EF BB BF를 삭제한 다음 코드에서 다음을 사용합니다. 바이트에서 UTF-8 인코딩으로 데이터를 스트리밍하는 InputStreamReader는 문자 스트림 중에 사용됩니다
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
자바에 대한 자세한 내용은 java 기본 튜토리얼 열을 참조하세요.
위 내용은 Java는 json 데이터를 읽고 중국어 왜곡 문자를 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!