> 백엔드 개발 > PHP 튜토리얼 > NULL_php 팁을 반환하는 PHP 처리 Json 문자열 디코딩 솔루션

NULL_php 팁을 반환하는 PHP 처리 Json 문자열 디코딩 솔루션

WBOY
풀어 주다: 2016-05-16 20:36:50
원래의
1365명이 탐색했습니다.

이 문서의 예에서는 PHP가 Json 문자열 디코딩을 처리하고 NULL을 반환하는 솔루션을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.

일반적으로 php는 json_decode() 함수를 사용하여 json 문자열을 디코딩합니다. 두 번째 매개변수가 true이면 배열을 반환하고, false이면 객체를 반환합니다. NULL이 반환되면 오류가 보고되고 json_last_error()가 출력됩니다. 얻은 정수 값은 오류 프롬프트 에 해당합니다. 아래와 같이:

json_last_error()의 가장 일반적인 값은 정수 4입니다. 이는 json_decode 이전에 json 문자열이 불완전하므로 구문이 잘못되었음을 의미합니다.

그러면 클라이언트가 제출한 개별 문자가 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(/(&#63;:t| |v|r)*n/g, '<br />');
  str = str.replace(/t/g, '    ');
  str = str.replace(/x22/g, '"');
  str = str.replace(/x27/g, '&#39;');
  str = str.replace(/"/g, "");
  return str;
}

로그인 후 복사

위 상황은 처리를 위해 json 문자열 데이터를 서버에 제출해야 하고 클라이언트에서만 필터링할 수 있다는 사실에 대한 것입니다.

json_decode($str)가 NULL을 반환하는 몇 가지 이유:

1.$str은 UTF-8로만 인코딩할 수 있습니다

2. 요소 끝에 쉼표를 사용할 수 없습니다(PHP 배열과 다름)

3. 요소에는 작은따옴표를 사용할 수 없습니다.

4. 요소 값 중간에는 공백이나 공백이 있어서는 안 됩니다. ,

로 바꿔야 합니다.

위의 상황이 발생할 경우 위의 방법에 따라 처리할 수 있습니다. 이 글이 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.

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