用撇号将Php数组转换为JavaScript数组异常

时间:2019-03-09 10:39:01

标签: javascript php

此代码有效

let json_data = '<?php echo json_encode(["name" => "test"]) ?>';
let data = JSON.parse(json_data);

问题代码

let json_data = '<?php echo json_encode(["name" => "cote d'ivoire"]) ?>';
let data = JSON.parse(json_data);
  

未捕获的SyntaxError:意外的标识符

如何解决

1 个答案:

答案 0 :(得分:0)

问题是您的JSON包含一个'字符,该字符与您用来分隔字符串的字符相同。

最简单的解决方案是将JSON处理为JavaScript (数据格式是编程语言的子集)。

let data = <?php echo json_encode(["name" => "cote d'ivoire"]) ?>;

如果您真的想生成一个JSON的 string ,然后可以对其进行解析,那么最好的工具是json_encode(用于在其中转义特殊字符)(还会在其周围添加引号)它为您服务,因此您无需手动进行操作。)

let json_data = <?php echo json_encode(json_encode(["name" => "test"])); ?>;
let data = JSON.parse(json_data);