当前位置: 首页 > 面试题库 >

PHP JSON字符串,对JS输出进行转义双引号

籍英叡
2023-03-14
问题内容

我正在从PHP数组创建JSON字符串。我已经使用对其进行了编码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/会返回错误。删除“特殊”两边的双引号可验证字符串。

从PHP创建JSON字符串并正确转义以供JS文件使用的最佳方法是什么?


问题答案:

来自http://www.php.net/manual/zh/function.json-
encode.php#100565

就是说,引号“会产生无效的JSON,但这仅是一个问题,如果您使用的是json_encode()并且只希望PHP神奇地转义您的引号。您需要自己进行转义。



 类似资料:
  • 问题内容: 我有一个Unicode转义的字符串: 我想将此字符串转换为unicode非转义版本 我该怎么做呢? 问题答案: 对其进行编码(使用任何编解码器,utf-8可能都可以),然后使用对其进行解码:

  • 问题内容: 我在python中解析json字符串时遇到问题,因为在字符串值中有多余的双引号,例如 我正在尝试将其转换为列表,以便进一步评估,如下所示: 我如何将json字符串更改为this ,以便对其进行正确评估。 编辑 只是为了强调我知道json无效,但这是我所拥有的,并且更改源不是一个选择。我目前正在努力解决此限制。 问题答案: 我怀疑这会工作(在repl.it上的工作示例),它使用以下正则表

  • 问题内容: 如何获得以下两个文本中引号之间的含义? 我的问题是,如果引号被转义,则应将其忽略,但是有可能使反斜杠转义。 我想获得以下团体。 问题答案: 匹配带引号的字符串,包括其中出现的所有转义字符。 说明:

  • 我习惯于在JavaScript中这样做: 斯威夫特没有这个功能,怎么做类似的东西?

  • 我在解析antlr4中的格式行列表时遇到了一个问题 但这是失败的第一个字符识别'*'本身,这使我困惑。 第1行:0不匹配的输入'*这是一个字符串',应为'*'

  • 我正在使用xslt转换xml文档。我需要使用输出转义来获得我的结果,因为我使用的工作服务器只会输出