JSON 수수께끼: json_encode의 백슬래시 이상 현상 해결
JSON 데이터 인코딩 영역에서 json_encode 함수는 오랫동안 신뢰할 수 있는 도구였습니다. 그러나 최근의 사건으로 인해 json_encode가 원치 않는 백슬래시를 추가하는 이유는 무엇입니까?
이 수수께끼를 자세히 알아보기 위해 제공된 코드를 검토해 보겠습니다.
print_r($result); echo json_encode($result);
print_r 명령은 다음을 표시합니다. 예상대로 연관 배열. json_encode가 적용되면 배열이 유효한 것처럼 보이는 JSON으로 변환됩니다. 그러나 추가 검사를 통해 숨겨진 슬래시가 나타납니다.
{ "logo_url":"http:\/\/mysite.com\/uploads\/gallery\/7f\/3b\/f65ab8165d_logo.jpeg", "img_id":"54", "feedback":{"message":"File uploaded","success":true} }
왜 이러한 불필요한 백슬래시가 있습니까? 추가 디버깅을 통해 이야기의 반전이 드러납니다. 예외는 json_encode 자체에서 발생하는 것이 아니라 후속 parJSON 호출에서 발생합니다. data.toSource()를 사용하여 JavaScript 데이터를 검사하면 JSON과 호환되지 않는 문자열이 발견됩니다.
({response:"{\"logo_url\":\"http:\/\/storelocator.com\/wp-content\/uploads\/gallery\/7f\/3b\/71b9520cfc91a90afbdbbfc9d2b2239b_logo.jpeg\",\"img_id\":\"62\",\"feedback\":{\"message\":\"File uploaded\",\"success\":true}}", status:200})
해결책:
이 문제를 해결하는 열쇠는 다음과 같습니다. json_encode에 "JSON_UNESCAPED_SLASHES" 옵션을 지정할 때. PHP 버전 5.4에 도입된 이 옵션은 함수가 슬래시에 백슬래시를 추가하는 것을 효과적으로 방지합니다.
json_encode($array,JSON_UNESCAPED_SLASHES);
이러한 지식을 바탕으로 원치 않는 백슬래시의 미스터리가 해결되어 이스케이프 간섭 없이 원활한 JSON 인코딩이 가능해졌습니다. !
위 내용은 `json_encode`가 JSON 출력에 원치 않는 백슬래시를 추가하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!