서버의 Ajax 요청에서 JSON 응답을 수신합니다. 이 방법은 작동 :php에서 아약스 JSON 응답 내의 문자열에 큰 따옴표를 넣을 수 있습니까?
{ "A": "1", "B": "안녕하세요 '키티'"}
하지만 키티 큰 따옴표 퍼팅에 성공하지 못했습니다.
"Ajax 응답에서"\ x22로 변환하면 JavaScript로 여전히 해석되며 "JSON을 구문 분석 할 수 없습니다.
나중에 \ 이스케이프해야하고 나중에 이스케이프 처리해야하나요?
어떻게 하시겠습니까?
편집 : 나는 내가 잘 표현 확실하지 :
안녕하세요 "키티"
나는 또한 수 필요한 경우 : 내가 안으로 "B" 구문 분석 후 의이 문자열을 원하는 "b"를 변환하는 구문 분석 후에 추가 단계를 추가하십시오. 그러나 이것이 필요하지 않다고 추측합니다. 더 우아한 방법이있어서 자동으로 발생합니까?
편집 2 : ajax 페이지는 php에 의해 생성됩니다.
$b = 'hello "kitty"';
// no 1:
//$b = str_replace('"',"\x22",$b);
// or no 2:
// $b = addslashes($b);
// or no 3:
$b = str_replace('"','\"',$b);
echo '{ "a" : "1", "b" : "' . $b . '"}';
EDIT3 :이 솔루션은 마지막으로 작동합니다
$b = 'hello "kitty"';
$b = str_replace('"','\\"',$b);
echo '{ "a" : "1", "b" : "' . $b . '"}';
'\ "OK이고'\ u0022'는 괜찮지 만'\ x22'는 자바 스크립트 문자열 리터럴에서 유효하지만 JSON에서는 사용할 수 없습니다. – bobince