javascript - 从 PHP 解析 javascript 中的 JSON 时出现问题

标签 javascript php json

这是我的 PHP 数组:

$entries = array(
    1420934400 => array(
        'entry' => 'I think I liked it.',
        'data' => 'some'
    ),
    1452470400 => array(
        'entry' => 'Turkey is much better. Tastes more like chicken.',
        'data' => 'no calls'
    ));

然后我转换成JSON

$entries = json_encode($entries);

这会产生字符串:
{"1420934400":{"entry":"我想我喜欢它。","data":"some"},"1452470400":{"entry":"火鸡好多了。味道更像鸡肉.","data":"没有电话"}}

...我认为这是有效的 JSON。但是当我尝试使用 JavaScript 访问时:

<script>
    var fetchedEntries = JSON.parse(<?php echo $entries ?>);
    console.log('entries: %o', fetchedEntries);
</script>

我收到以下错误:

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data

谁能看出我哪里出错了?

最佳答案

在 JS 中不需要 JSON.parse,因为 JSON 可以直接由 JS 解释(它被称为 JavaScript Object Notation 是有原因的 ;-)。做

var fetchedEntries = <?php echo $entries ?>;

当您收到字符串形式的 JSON 数据时,JSON.parse 是合适的。例如,这也适用:

var fetchedEntries = JSON.parse( "<?php echo json_encode( $array_or_obj ); ?>" );

关于javascript - 从 PHP 解析 javascript 中的 JSON 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231607/

相关文章:

php - LocalHost 数据库不存储查询?

javascript - 为什么我的窗口滚动事件根本不触发。其他答案没解决

php - 使用 php 将 pdf 远程文件存储在 postgres 数据库中

php - jquery中如何对选中字段的值求和

java - 如何在Json中定义一个数据结构,结构的顶部是对象的名称?

javascript - 在进度事件中处理分块 JSON?

javascript - 数组 indexOf 与对象?

javascript - 是否可以即时覆盖 Twitter Bootstrap 弹出窗口的定位?

javascript - jQuery html() 会忽略元素命名(小写和大写)

python - 在python中将json字符串转换为dict