Я создаю строку JSON из массива PHP. Я закодировал его с помощью json_encode().
$data = array(
'title' => 'Example string\ 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 with "special" characters" }
Ввод этого результата в http://jsonlint.com/ возвращает ошибку. Удаление двойных кавычек вокруг "special" проверяет строку.
Каков наилучший способ создать строку JSON из PHP и правильно ее избежать для использования в JS файле?