JSON 인코딩의 백슬래시 이스케이프
json_encode를 사용하여 연관 배열을 JSON으로 변환할 때 일부 사용자는 인코딩된 데이터에 다음이 포함되는 문제가 발생합니다. 원하지 않는 백슬래시. 이 문제는 JSON 인코딩 프로세스와 후속 구문 분석 간의 잠재적인 불일치로 인해 발생합니다.
백슬래시의 근본 원인
PHP의 표준 JSON 인코딩은 백슬래시를 포함한 특수 문자를 이스케이프합니다. , 데이터 무결성을 보장합니다. 그러나 인코딩된 데이터가 .parseJSON과 같은 외부 JavaScript 함수에 의해 추가 처리되는 경우 의도하지 않은 이중 이스케이프가 발생할 수 있습니다.
해결책: JSON_UNESCAPED_SLASHES 옵션
해결 방법 이 문제에서는 JSON_UNESCAPED_SLASHES 옵션을 두 번째 매개변수로 명시적으로 지정할 수 있습니다. json_encode. 이 옵션은 PHP가 인코딩 중에 백슬래시를 이스케이프하지 않도록 지시하여 이중 이스케이프 문제를 제거합니다.
$result = [ 'logo_url' => 'http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg', 'img_id' => 54, 'feedback' => [ 'message' => 'File uploaded', 'success' => 1 ] ]; echo json_encode($result, JSON_UNESCAPED_SLASHES);
이 코드는 추가 백슬래시 없이 유효한 JSON을 출력합니다.
{"logo_url":"http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg","img_id":"54","feedback":{"message":"File uploaded","success":true}}
위 내용은 JSON으로 인코딩된 데이터에 백슬래시가 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!