11

如果对象在 json 文件中可用,如何将其加载到 javascript 中?

我的 html 中有以下脚本:

<script src='scene.json'></script>
<script>
  var x = scene.x;
</script>

这是位于同一文件夹中的文件 scene.json:

{"scene": {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500,
}}

但是 json 文件没有正确加载(意外的令牌':'),并且 scene.x 引用也可能不是它应该完成的方式。可以直接参考数据吗?还是需要通过一些http请求来加载?

4

3 回答 3

24

将此修改为javascript:

var scene = {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
};

或者使用 jQuery api 和函数getJSON

<script>
  var scene={};
  $.getJSON('scene.json', function(data) { 
    scene=data;
  }); 
</script>
于 2012-07-19T12:39:48.997 回答
12
{"scene": {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
}}

是无效的 javascript(因为它被视为一个块),您可能只需要一个 javascript 文件:

var scene = {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
};

如果要将文件保留为 JSON,则不能从脚本元素引用它并使其在成为有效 JSON 时工作。您需要使用 ajax 请求来获取文件并解析 JSON。

于 2012-07-19T12:36:32.923 回答
3

将您的 json 数据设置为一个变量,例如

data =  {"scene": {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
}
}

然后访问它

data.scene.x //it will give 0 
于 2012-07-19T12:39:52.293 回答