我正在从PHP数组创建JSON字符串。我已经使用对其进行了编码json_encode()。
json_encode()
$data = array( 'title' => 'Example string\'s with "special" characters' ); $data = json_encode( $data );
$data使用进行本地化wp_localize_script(),并可以通过全局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/会返回错误。删除“特殊”两边的双引号可验证字符串。
从PHP创建JSON字符串并正确转义以供JS文件使用的最佳方法是什么?
来自http://www.php.net/manual/zh/function.json- encode.php#100565
就是说,引号“会产生无效的JSON,但这仅是一个问题,如果您使用的是json_encode()并且只希望PHP神奇地转义您的引号。您需要自己进行转义。