오류 이유:
BOM 헤더 문제. 서버측은 PHP이고, 반환된 전송 데이터 '{' 앞에 BOM 헤더가 옵니다. Java가 헤더를 읽을 때 헤더를 파일 내용으로 직접 읽어 오류가 발생합니다.
BOM 헤더란 무엇인가요?
BOM 헤더는 UTF-8 서명이라고도 합니다. 실제로 UTF-8 BOM은 UFT-8에 영향을 주지 않습니다. UTF-16 및 UTF-32를 지원하기 위해 추가된 BOM입니다.
BOM 서명은 현재 파일이 어떤 인코딩을 사용하는지 편집기에 알려주는 것을 의미합니다. 그러나 BOM은 편집기에 표시되지 않지만 추가 빈 줄처럼 출력을 생성합니다. 메모장과 같은 편집자가 파일이 UTF-8로 인코딩되었는지 여부를 식별하는 데 사용되는 숨겨진 문자 문자열입니다.
해결책:
java, android 클라이언트 등은 코드를 통해 BOM을 필터링한 다음 구문 분석할 수 있습니다.
/** * 去除bom报头 */ public static String formatString(String s) { if (s != null) { s = s.replaceAll("\ufeff", ""); } return s; }
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 안드로이드는 PHP의 json 데이터를 구문 분석할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!