Я успешно только что сделал это:
$json = str_replace("\u0022","\\\\\"",json_encode( $phpArray,JSON_HEX_QUOT));
json_encode()
по умолчанию выйдет из "
в \"
. Но это все равно неправильно JSON для json.PARSE()
. Таким образом, добавив параметр JSON_HEX_QUOT
, json_encode()
заменит "
на \u0022
. json.PARSE()
все равно не понравится \u0022
. Итак, нам нужно заменить \u0022
на \\"
. \\\\\"
сбежал \\"
.
ПРИМЕЧАНИЕ: вы можете добавить опцию JSON_HEX_APOS
для замены одинарной кавычки на значение Unicode HEX
, если у вас есть проблема с одинарными кавычками в JavaScript.
например: json_encode( $phpArray, JSON_HEX_APOS|JSON_HEX_QUOT ));