gpt4 book ai didi

Javascript 不使用 jQuery 解析 JSON

转载 作者:行者123 更新时间:2023-11-28 19:55:51 24 4
gpt4 key购买 nike

我正在关注this来自 amCharts 的示例,但我无法从 PHP 文件加载 JSON,这是我所做的:

AmCharts.loadJSON = function(url) {
if (window.XMLHttpRequest) {
var request = new XMLHttpRequest();
} else {
var request = new ActiveXObject('Microsoft.XMLHTTP');
}
request.open('GET', url, false);
request.send();
return eval(request.responseText);
};


AmCharts.ready(function() {
var chartData = AmCharts.loadJSON('chart.php');
console.debug(chartData);
});

但我总是得到:

return eval(request.responseText);
Uncaught SyntaxError: Unexpected string

我用谷歌搜索过,但所有解决方案都包含 jQuery,建议不要使用 eval。

最佳答案

使用JSON属性,它是 window 对象的一部分(除非您使用的是旧浏览器)。

JSON.parse(request.responseText);

这是一个shim适用于 IE7 和其他旧浏览器。

要将对象转换为 JSON 字符串,请使用 JSON.stringify({ foo: 1 });

确定是否需要垫片,您可以简单地做

if(JSON){
// safe to use the JSON object
}

根据您的评论,您有一些无效的语法:

[{ "date": "22/03/14", "value1": 15, "value2": 12.1 "value3": 15 "value4": 15 }]

某些属性缺少逗号来分隔它们。它应该看起来像这样:

[{ "date": "22/03/14", "value1": 15, "value2": 12.1, "value3": 15, "value4": 15}]

请注意,您发布的是一个数组。无需使用JSON.parse()。就 JSON 而言,这里唯一有效的是将其字符串化为 JSON string。但我认为这不是您所追求的。

但是,如果它是您向我提供的评估字符串,则应将 eval() 替换为 JSON.parse()

关于Javascript 不使用 jQuery 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22592466/

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