>  기사  >  백엔드 개발  >  안드로이드는 PHP의 json 데이터를 구문 분석할 수 없습니다.

안드로이드는 PHP의 json 데이터를 구문 분석할 수 없습니다.

王林
王林원래의
2019-10-21 13:47:002465검색

안드로이드는 PHP의 json 데이터를 구문 분석할 수 없습니다.

오류 이유:

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.