Wpis z mikrobloga

#programowanie #javascript #php #json

mam taki problem z eskejpowaniem znaków w stringach

mam tablice obiektów w php i gdzieś tam jest pole o takiej wartości: TEST"

i teraz mam coś takiego:

var tablica = $.parseJSON(' echo jsonencode($tablica); ?>');<br /
wykrzacza się przy źle wysekejpowanym polu TEST\" , w js to powinnien być chyba podwójny backslash czyli TEST\"


gdzie jest błąd ?


Próbowałem dodawać opcje JSON
HEXQUOT do jsonencode i rzeczywiście wyrzuca cudzysłów do hexa ale nadal JS nie może tego przeczytać.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hmm, ja tworzę tablicę np. $aArray = array( 'key' => 'value', 'key2' => 'value2' ); potem to $x = json_encode( $aArray ); i wyświetlam w kodzie cos = 'php echo $x; ?' i zawsze bangla. @koob
  • Odpowiedz
@koob: usuń apostrofy w argumencie metody parseJSON, bo funkcja PHP jsonencode sama dodaje cudzysłowy i dba o escape:

var tablica = $.parseJSON(<? echo json
encode($tablica); ?>);
  • Odpowiedz