PHP JSON String, escape Double Quotes for JS output

Я создаю JSON строку из массива PHP. Я закодировал ее с помощью json_encode().

$data = array(
    'title' => 'Example string\'s with "special" characters'
);

$data = json_encode( $data );

$data локализована с помощью wp_localize_script() и доступна через глобальную переменную data.

В JS-файле я могу получить доступ к информации следующим образом:

var data     = data.replace( /"/g, '"' ),
    jsonData = jQuery.parseJSON( data );

console.log( jsonData );

Это приводит к выводу:

{ "title":"Example string's with "special" characters" }

Ввод этого результата в http://jsonlint.com/ возвращает ошибку. Удаление двойных кавычек вокруг "special" проверяет строку.

Какой лучший способ создать JSON строку из PHP и правильно экранировать ее для использования в JS файле?

39
задан Luke 1 June 2017 в 14:17
поделиться