javascript - 无法使 JSON 解析和评估在 JavaScript 中工作

标签 javascript php html json

正如我上面所说,我有一个 PHP 脚本和一个 JavaScript,我有一些对象可以在服务器端读取文本文件,然后将数据传递给 JavaScript。

这是我的全部代码:

map .html:http://www.pastebin.com/b45mbvgp和 index.php:http://www.pastebin.com/zibdquzu

真正重要的部分:

var x = <?php echo json_encode($streetsObject); ?>;
var obj = eval("("x")");

我也试过

var obj = JSON.parse(x);

X 变量确实设置为传递对象的大小,527(已测试)但是当我尝试使用 eval 或 JSON 解析函数时根本不起作用。我的 html 代码中是否有某种错误干扰了我对其他库的调用?如果是这样那就太奇怪了,因为 kinetic.js 工作得很好。我一直在谷歌搜索 JSON 的例子,但我还没有看到解析传递的对象的例子,它都是本地对象的例子:(

(如果我删除 eval/json 代码行,代码工作正常)

最佳答案

简单地做:

var obj = <?php echo json_encode($streetsObject); ?>;

JSON 表示 JavaScript 对象表示法。如果你直接将 JSON 插入到 Javascript 中,它会运行良好,就在这种情况下。无需解析。不建议将 eval 用于 JSON 解析,但这同样适用(注意 eval 实际上有效,因为 JSON 是有效的 Javascript!)。

JSON.parse 仅当您在 Javascript 字符串中包含 JSON 时才需要。所以这会起作用:

var str = '<?php echo json_encode($streetsObject); ?>';
var obj = JSON.parse(str);

关于javascript - 无法使 JSON 解析和评估在 JavaScript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21712672/

相关文章:

javascript - 为什么 Internet Explorer 不能一致地触发提交事件?

jquery - IE8 上的 JQuery 循环问题

javascript - 如何在 Javascript 中将表单数组转换为 JSON? (对象数组)?

php - 简单的 PHP 和 jquery 联系表

javascript - 提交时清除默认搜索文本

php - 为什么 Laravel 中不保存表单数据?

php - 我需要一个包含 2 个动态值的查询

php - 在 HTML/PHP 中输​​入 RGB 值的框中显示颜色

javascript - 如何在 MVC 中的 javascript 博客中调用 Scripts.Render?

javascript:鼠标悬停缩略图,较大的图像在第 8 个表格条目后不起作用