PHP 처리 JSon 문자열 디 코딩 NULL 의 해결 방법

이 사례 는 PHP 처리 JSon 문자열 디 코딩 을 NULL 로 되 돌려 주 는 해결 방법 을 설명 합 니 다.여러분 께 참고 용 으로 나 누 어 드 리 겠 습 니 다.구체 적 인 방법 은 다음 과 같다.
일반적으로 php 는 json 문자열 디 코딩 에 json 을 사용 합 니 다.decode()함수,첫 번 째 매개 변 수 는 문자열 을 전달 하고 두 번 째 매개 변 수 는 true 이면 array 를 되 돌려 줍 니 다.false 라면 object 로 돌아 갑 니 다.NULL 로 돌아 가면 오 류 를 설명 하고 json 을 출력 합 니 다.last_error(),얻 은 정수 치 는 오류 알림 에 대응 합 니 다.다음 그림 에서 보 듯 이:

json_last_error()에서 흔히 볼 수 있 는 것 은 정수 4 이 고 json 문자열 은 jsondecode 이전 에는 완전 하지 않 았 기 때문에 문법 이 잘못 되 었 습 니 다.
그러면 클 라 이언 트 가 제출 한 개별 문 자 는 json 의 형식 에 영향 을 주 고 JS 를 사용 하여 여과 할 수 있 으 며 일반적인 문 제 를 해결 할 수 있 습 니 다.주로 리 턴,빈 칸,html 라벨 을 걸 러 낼 수 있 습 니 다.
구현 코드 는 다음 과 같 습 니 다:

/*
*     
*/
function htmlEncode(str) {
 str = str.replace(/\s+/ig, '');
 str = str.replace(/&/g, '');
 str = str.replace(/</g, '');
 str = str.replace(/>/g, '');
 str = str.replace(/(?:t| |v|r)*n/g, '<br />');
 str = str.replace(/t/g, '&nbsp; &nbsp; ');
 str = str.replace(/x22/g, '&quot;');
 str = str.replace(/x27/g, '&#39;');
 str = str.replace(/"/g, "");
 return str;
}

이상 의 상황 은 json 문자열 데 이 터 를 서버 에 제출 해 야 하 며 클 라 이언 트 에서 만 걸 러 낼 수 있 습 니 다.
기타 jsondecode($str)가 NULL 을 되 돌려 주 는 이유:
1.$str 는 UTF-8 인 코딩 만 가능
2.요 소 는 마지막 에 쉼표 가 있 으 면 안 됩 니 다(phop 의 array 와 다 릅 니 다)
3.원 소 는 작은 따옴표 를 사용 할 수 없습니다.
4.요소 값 중간 에 빈 칸 과 바 꿔 야 합 니 다.
만약 여러분 이 상술 한 상황 에 부 딪 혔 다 면 상기 방법 에 따라 처리 할 수 있 습 니 다.
PS:json 작업 에 대해 서 는 비교적 실 용적 인 json 온라인 도 구 를 추천 합 니 다.참고 하 시기 바 랍 니 다.
온라인 JSON 코드 검사,검사,미화,포맷 도구:
http://tools.jb51.net/code/json
JSON 온라인 포맷 도구:
http://tools.jb51.net/code/jsonformat
온라인 XML/JSON 상호 변환 도구:
http://tools.jb51.net/code/xmljson
json 코드 온라인 포맷/미화/압축/편집/변환 도구:
http://tools.jb51.net/code/jsoncodeformat
온라인 json 압축/전의 도구:
http://tools.jb51.net/code/json_yasuo_trans
C 언어 스타일/HTML/CSS/json 코드 포맷 미화 도구:
http://tools.jb51.net/code/ccode_html_css_json
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기