Otrzymuję odpowiedź JSON w żądaniu Ajax z serwera. W ten sposób to działa:Jak umieścić podwójne cudzysłowy w ciągu znaków w odpowiedzi ajax JSON z php?
{ "a": "1", "b": "cześć 'kotek'"}
Ale nie udało się wprowadzenie cudzysłowie kotek.
Kiedy konwertować „do \ x22 w odpowiedzi Ajax, to wciąż interpretowane jako” przez JavaScript i nie można analizować JSON.
Mam też uciec \ i unescape później (co byłoby możliwe)?
Jak to zrobić?
Edit: Nie jestem pewien, czy to wyraził również: Chcę ten ciąg wewnątrz „b” po parse:
hello „kotek”
razie potrzeby mogłem również dodaj dodatkowy krok po analizie, aby przekonwertować "b", ale myślę, że nie jest to konieczne, istnieje bardziej elegancki sposób, więc dzieje się to automatycznie?
Edycja2: Strona ajax jest generowana przez php. Próbowałem kilka rzeczy teraz, aby utworzyć wartość B, cały wynik w błąd parsowania JSON na stronie:
$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: Rozwiązanie to w końcu działa:
$b = 'hello "kitty"';
$b = str_replace('"','\\"',$b);
echo '{ "a" : "1", "b" : "' . $b . '"}';
'\" 'jest w porządku, a' \ u0022' jest w porządku, ale '\ x22', chociaż jest poprawne w dosłownym łańcuchu JavaScript, jest niedozwolone w JSON – bobince