结束目标:从包含此格式的某些数据的给定URL(假设相同的服务器/域):
{"foo":6481,"value":13,"thing":"12_3"}
获取JavaScript代码以读取数据并将其放入数组/对象中,以便可以使用它来绘制"值"在图表上。服务器将自动使用新数据更新链接,但现在只是想弄清楚如何访问"值"
为了测试,我创建了一个.json文件和一个.html文件,我只是想打印' 13'来自"价值"看看我如何访问它,但是无法使用任何东西。我花了很多时间在堆栈溢出上,谷歌试图解决这个问题。这是我认为可以帮助我的最接近的事情:How to create JAVASCRIPT ARRAY from external file JSON,但它不起作用
我为datadata.json尝试了什么:
{"foo":6481,"value":13,"thing":"12_3"}
[{"foo":6481,"value":13,"thing":"12_3"}]
'[{"foo":6481,"value":13,"thing":"12_3"}]'
然后是我的JS文件:
var newArray = new Array ();
$.ajax({
async: false,
url: 'datadata.json',
data: "",
accepts: 'application/json',
dataType: 'json',
success: function(data) {
newArray.push(data.value); //or data.name
}
})
console.log(newArray);
这将打印空括号,并出现此错误: SyntaxError:意外的令牌':'。解析错误。
还尝试了XMLHttpRequest,导致同样的错误:
var jsonArr = new XMLHttpRequest();
jsonArr.open('GET', 'datadata.json', true);
jsonArr.onreadystatechange = function(data) {
console.log(jsonArr.name);
};
jsonArr.send();
当.json文件数据具有数组的名称时:
data = '[{"foo":6481,"value":13,"thing":"12_3"}]'
使用JSON.parse(数据)工作。
为什么会这样,我怎样才能从URL解析数据?
另外,我不想为此使用PHP。
---工作解决方案,但仍然有.json文件的错误---
var myArray = new Array ();
$.getJSON( "datadata.json", function( data ){
myArray = data;
console.log(myArray.value);
});
使用以下格式:
{"foo":6481,"value":13,"thing":"12_3"}