如何输出JSON解析兼容JSON与PHP json_encode?JSON.parse -由于单转义双引号导致的意外令牌
How to output JSON parse compatible json with PHP json_encode? JSON.parse - Unexpected token h due to single escaped double quotes
我有这个php:
<?php
$jsonarr = array("haha" => array("hihi'hih","hu'"huh"));
print json_encode($jsonarr);
得到
{"haha":["hihi'hih","hu'"huh"]}
现在,在JSON中。用
解析这个断点Uncaught SyntaxError: Unexpected token h
at Object.parse (native)
,除非我像这样双转义反斜杠
var json = '{"haha":{"hihi''hih":"hu'''"huh"}}';
JSON.parse(json);
如何让php创建一个JSON解析兼容的输出?
同时,我确实得到了这个工作与双json_encoding的字符串在php基于这个php 's json_encode不转义所有JSON控制字符像这样,但想知道是否有一些其他的方法。
$jsonarr = array("haha" => array("hihi'hih","hu'"huh"));
print json_encode(json_encode($jsonarr));
如果你从AJAX得到这个,它不会发生,所以我相信你是使用PHP生成JS代码,像这样:
var json = '<?php echo $jsonarr; ?>';
var obj = JSON.parse(json);
这不起作用,因为,正如您所注意到的,打印时$jsonarr
将没有必要数量的反斜杠。JSON中的'"
需要在JS字符串字面值中为''"
,以便被理解为'"
。
var obj = <?php echo $jsonarr; ?>;
完成了!
相关文章:
- 无法找到在 YouTube API 中转义 json 中的引号的方法
- 带有Ajax请求的Javascript JSON.parse函数n〃;新行转义字符
- 在Javascript/jQuery中转义双引号,以JSON形式通过POST发送到PHP
- json中javascript:hex的转义字符串
- 在JSPX中转义JSON
- 如何使用Javascript为JSON转义字符
- 需要转义json
- 如何在JSON中转义逗号以供highchart读取
- 转义字符串化 JSON 中的单引号,作为 EJS 模板传递以供查看
- 强制 JSON.stringify 转义正斜杠(即“/”)
- HTML 转义中的 JSON
- 如何从 JSON 字符串中删除转义字符
- JSON.stringify不需要转义
- 使用单引号(撇号)转义将活动记录对象解析为 json
- 在 JavaScript 和 Python 2.7 中的 JSON 字符串中转义反斜杠
- 正确转义 javascript json 字符串中的换行符
- 复制和粘贴带有转义引号的字符串化对象时的 JSON.parse 异常
- 如何在从 javascript 中的 json 对象中提取字符串时保留转义序列.(字符串实际上是正则表达式模式)
- Javascript JSON 返回带有未转义字符的错误
- JSON转义字符