> Java > Java베이스 > 본문

Java는 json 데이터를 읽고 중국어 왜곡 문자를 해결합니다.

풀어 주다: 2019-12-02 09:14:23
원래의
4525명이 탐색했습니다.

Java는 json 데이터를 읽고 중국어 왜곡 문자를 해결합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!