将对象从JSON文件加载到javascript中

Kre*_*tep 11 javascript json

如果json文件中有对象,如何将对象加载到javascript中?

我的html中有以下脚本:

<script src='scene.json'></script>
<script>
  var x = scene.x;
</script>
Run Code Online (Sandbox Code Playgroud)

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

{"scene": {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500,
}}
Run Code Online (Sandbox Code Playgroud)

但是json文件未正确加载(意外的标记':'),并且scene.x引用也可能不是它应该完成的方式.是否可以直接引用数据?或者是否需要通过某些http请求加载?

rog*_*111 24

修改为javascript:

var scene = {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
};
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery api和函数getJSON

<script>
  var scene={};
  $.getJSON('scene.json', function(data) { 
    scene=data;
  }); 
</script>
Run Code Online (Sandbox Code Playgroud)


Esa*_*ija 11

{"scene": {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
}}
Run Code Online (Sandbox Code Playgroud)

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

var scene = {
  "x": 0,
  "y": 0,
  "w": 11000,
  "h": 3500
};
Run Code Online (Sandbox Code Playgroud)

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