gpt4 book ai didi

javascript - 我可以将 JavaScript JSON.parse 与外部数组一起使用吗?

转载 作者:行者123 更新时间:2023-12-01 14:19:23 26 4
gpt4 key购买 nike

我需要从外部文件中获取数据;我试图发出一个 ajax 请求,但我似乎只能将所有数据作为字符串获取。我在使用 JSON.parse 时遇到问题;我收到 'Uncaught SyntaxError: Unexpected token 'xmlhttp.onreadystatechange'。我知道这可能是因为我没有获取 JSON 数据。这是我目前所拥有的:

function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var data = xmlhttp.responseText;
var jn = JSON.parse(data);
document.getElementById("output").innerHTML = jn;
}
}
xmlhttp.open("GET", "Users.php", true);
xmlhttp.send();
}
window.onload = loadXMLDoc;

这是我从“Users.php”中得到的一个字符串,而不是一个数组:

[['@user1',238,'img/user1.jpeg'],['@user2',220,'img/user2.jpeg'],['@user3',180,'img/user1.jpeg']]

如何从字符串中检索所有数据,或将其转换为数组?我什至尝试使用 split 函数,但我做不好。

感谢您的帮助!

最佳答案

更新

如果您可以控制 Users.php,那么您可以通过对数据使用 json_encode() 来解决问题。这将使用双引号来包装字符串,并在没有 replace() 的情况下得到我在下面建议的结果

以前

json 期望字符串被双引号而不是单引号包围。

所以一个 hack 应该是 JSON.parse(data.replace("'", '"'))

如果返回的字符串中有任何双引号或转义的单引号,您当然会被绊倒。

关于javascript - 我可以将 JavaScript JSON.parse 与外部数组一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32401722/

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