Json_encode에 백슬래시를 추가하는 이유는 무엇입니까?
파일 업로드 스크립트 내에서 json_encode를 사용하면 결과 JSON 데이터에 예상치 못한 내용이 포함된 것으로 확인되었습니다. 백슬래시. 이는 json_encode가 이러한 이스케이프를 도입하는 이유에 대한 의문을 제기합니다.
JSON_UNESCAPED_SLASHES 옵션
답은 json_encode 내에서 사용할 수 있는 특정 옵션에 있습니다. 기본적으로 json_encode는 생성된 JSON이 유효한지 확인하기 위해 슬래시(백슬래시)를 포함한 특정 문자를 이스케이프합니다. 그러나 제공된 것과 같은 URL을 처리할 때와 같은 경우에는 이러한 이스케이프가 바람직하지 않을 수 있습니다.
이 문제를 해결하기 위해 JSON_UNESCAPED_SLASHES 옵션이 PHP 버전 5.4에 도입되었습니다. 이 옵션을 활용하면 json_encode가 슬래시를 이스케이프 처리하지 않도록 지시하여 당면한 문제를 효과적으로 해결합니다.
코드 수정
솔루션을 구현하려면 JSON_UNESCAPED_SLASHES 상수를 다음과 같이 통합하면 됩니다. json_encode 함수 내의 두 번째 매개변수입니다. 수정된 코드는 다음과 같아야 합니다.
echo json_encode($result, JSON_UNESCAPED_SLASHES); // <-- Adds the JSON_UNESCAPED_SLASHES option
이렇게 하면 결과 JSON에 불필요한 백슬래시가 포함되지 않고 원하는 결과가 제공됩니다.
{ "logo_url": "http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg", "img_id": "54", "feedback": { "message": "File uploaded", "success": true } }
위 내용은 `json_encode`가 JSON 데이터에 백슬래시를 추가하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!