如何将文件中的json加载到变量中

oab*_*rca 5 javascript json

我有一个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库的情况下完成吗?

deo*_*oll 0

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)

  • 这似乎是为 [w3fools](http://www.w3fools.com/) 做出贡献的示例之一。为此不需要“eval()”。使用 [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)。 (4认同)