php7 json_decode null에 대한 문제가 발생했습니다!
특정 문제 설명:
1. 파일에 BOM 헤더가 없는지 확인하세요
2. 다음 방법을 사용하여 잘못된 문자열을 제거했지만 여전히 NULL이 출력됩니다
$some_string = htmlspecialchars_decode($some_string); $some_string = preg_replace("/\t/", " ", $some_string); $some_string = preg_replace("/\n/", ' ', $some_string); $some_string = str_replace("\n", ' ', $some_string); $some_string = str_replace ('\n','', $some_string);
3. 오류, 잘못된 JSON
4. 아래 스크린샷과 같이 문자열을 직접 출력하면 브라우저는 josn을 정상적으로 구문 분석할 수 있습니다. 표준 JSON 문자열 각 문자열 유형은 "
테스트 코드
<?php $jsonStr1 = '{status: {RetCode:0, msg: "success"}, data: {}}'; var_dump(json_decode($jsonStr1, true)); var_dump(json_last_error()); echo "--------分割线--------".PHP_EOL; $jsonStr2 = '{"status": {"RetCode":0, "msg": "success"}, "data": {}}'; var_dump(json_decode($jsonStr2, true));Result
NULL int(4) --------分割线-------- array(2) { ["status"]=> array(2) { ["RetCode"]=> int(0) ["msg"]=> string(7) "success" } ["data"]=> array(0) { } }============== 업데이트=============에 의해 발생해야 합니다. =
$dataString = $merchant_arr['data']; $A = substr($dataString, 0, 1); $B = substr($dataString, 1, 1); $C = substr($dataString, 2, 1); if ((ord($A) == 239) && (ord($B) == 187) && (ord($C) == 191)) { $dataString = substr($dataString, 3); } $dataArray = json_decode($dataString, true);
추천 학습: "
PHP7 Tutorial"
위 내용은 php7 json_decode null에 대한 문제가 발생했습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!