English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Json_decode로 json 문자열을 NULL로解析하는 해결 방법(반드시 보기)

APP 단이나 다른 페이지에서 POST, GET으로 전달된 데이터는 일반적으로 배열 형식이 됩니다. 배열 형식이 전송하기 어려우므로 일반적으로 JSON으로 변환하여 전송합니다. 발신자에서 json_encode()를 사용하고, 수신자에서 json_decode()를 사용하면 문제를 해결할 것이라고 생각했지만, json_decode() 후 NULL이 되는 것을 발견했습니다.

일반적으로 파라미터 "true"이 빠졌다고 반응하지만, 돌아보면 json_decode($data,true); 그럼 왜 NULL이 될까요? encoding이 아닌가요? 수신 후 바로 출력하면 완전한 json 문자열 형식이 됩니다. 인터넷 json 해석 사이트에서도 정상적으로 해석됩니다.

그렇다면 이는 무엇 때문일까요? 실제로는编码 변환 문제입니다.

다음 방법으로 올바르게 해석할 수 있습니다.

$data = stripslashes(html_entity_decode($info)); //$info는 전달된 json 문자열입니다
$data = json_decode($data,TRUE);

이제 $data는 해석된 배열이 됩니다!

html_entity_decode() 함수의 역할은 HTML 엔티티를 문자로 변환하는 것입니다.
stripslashes() 함수의 역할은 반좌표를 제거하는 것입니다.

이 Json_decode json 문자열을 NULL로 해석하는 해결책(반드시 보세요)이 저가 모두에게 공유한 내용입니다. 모두에게 참고가 되길 바라며,呐喊 강의에 많이 지지해 주시길 바랍니다.

좋아하는 것