gpt4 book ai didi

javascript - 为什么我收到有关 "unexpected non-whitespace after JSON data"的错误消息

转载 作者:搜寻专家 更新时间:2023-10-31 21:06:51 24 4
gpt4 key购买 nike

谁能告诉我这是什么问题:

我正在将一个 PHP 数组回显到 javascript 中,如下所示:

<?php 
$myArray=array();
foreach ($persons as $person) {
array_push($myArray,$person['id']);
}
?>

$(document).ready(function() {
populatePersons(JSON.parse(<?php echo json_encode($myArray);?>));
});

所以基本上我在 中回显了一个 PHP 数组格式,然后在 中解析但我在控制台日志中收到此错误:

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data 

谁能告诉我我做错了什么?

最佳答案

Can anybody tell me what I am doing wrong?

json_encode 生成 JSON 时,您正在将其回显到 JavaScript 中。因此,它将被解释为 JavaScript 数组文字,而不是包含 JSON 的字符串。因此,您不能使用 JSON.parse

只是摆脱它:

populatePersons(<?php echo json_encode($myArray);?>);

如果您查看生成的代码,您会是这样的:

 populatePersons(JSON.parse([1,2,3]));

但是 JSON.parse 需要一个 string(包含 JSON)。因为 JavaScript 执行类型转换,它会先将数组转换为字符串,这很可能不会生成有效的 JSON。

再说一次:你已经有了一个数组,不需要解析任何东西。

关于javascript - 为什么我收到有关 "unexpected non-whitespace after JSON data"的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30970330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com