我有一个名为dump.json
的文件格式:
[{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000, 80], [1424815200000, 92]]}]
并且,我想要做的是以变量名histcatexplong
在JavaScript中以某种方式加载它:
var histcatexplong = [{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000, 80], [1424815200000, 92]]}];
我该怎么做?
答案 0 :(得分:1)
正如我在评论中所说,这可以在线上和线下使用(不需要网络服务器),而 XMLHTTPRequest 则可以。请注意,Filereader仅在现代浏览器中受支持。 http://caniuse.com/#feat=filereader
function readSingleFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
document.querySelector("div").innerHTML= "Got the file.n"
+"name: " + f.name + "n"
+"type: " + f.type + "n"
+"size: " + f.size + " bytesn"
+ "starts with: " + contents
//store it as JSON
histcatexplong = JSON.parse(contents);
}
r.readAsText(f);
} else {
alert("Failed to load file");
}
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);

<input type="file" id="fileinput" />
<div></div>
&#13;
作为我的意思的一个例子。
答案 1 :(得分:0)
我只是向.json
文件发送一个没有参数的GET请求。请注意,以下代码示例在IE5 / IE6中不起作用,请查看this answer以获取更多跨浏览器解决方案,并且由于same origin policy必须在服务器(例如localhost)上运行。一个粗略的想法:
var histcatexplong;
var xhReq = new XMLHttpRequest();
xhReq.open("GET", "dump.json", true);
xhReq.send(null);
xhReq.onreadystatechange=function()
{
if (xhReq.readyState==4 && xhReq.status==200)
histcatexplong=JSON.parse(xhReq.responseText);
}