我有一个file.json
内容:
{
"a":{"var1":"Sábado"},
"b":{"var2":"Domingo"}
}
Run Code Online (Sandbox Code Playgroud)
考虑到我无法编辑file.js
,我需要找出一种方法将该文件中包含的json加载到变量中mj
,以便alert(mj["a"].var1)
向我显示消息Sábado
.
更新:这可以在不使用JQuery,Prototype或任何其他js库的情况下完成吗?
file.json
您向正在使用的对象发出普通的 ajax 请求XMLHttpRequest
。在函数中onreadystatechange
编写 eval 逻辑以接收 json 并分配给变量。
eval 语句看起来像
var data = eval ('(' + xhr.responseText + ')');
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何使用 ajax,请浏览以下页面: http: //www.w3schools.com/ajax/default.asp
编辑:乔纳森的回答似乎是推荐的方法;当时我并没有想到这个答案。使用JSON.parse()
而不是eval()
.
var data = JSON.parse(xhr.responseText);
Run Code Online (Sandbox Code Playgroud)