将外部JSON载入HTML

时间:2018-06-29 15:05:14

标签: html json load

我不是HTML的超级新手,如果这是一个愚蠢的问题,对不起。

我目前有数据是一个外部JSON,并在HTML内调用加载。我只是想将其复制到HTML并将其保存为一部分,而不是加载它。在不更改数据结构的情况下该如何做?

示例数据JSON:

[
{ 
    "User" : "COMP",
    "Runtime" : 931.216111111
},
{ 
    "User" : "AUTO",
    "Runtime" : 600.404444444
}
]

我在哪里加载它:

// load data
d3.json("data.json", function(error, data) {

    data.forEach(function(d) {
        d.User = d.User;
        d.Runtime = +d.Runtime;
    });

  // scale the range of the data
  x.domain(data.map(function(d) { return d.User; }));
  y.domain([0, d3.max(data, function(d) { return d.Runtime; })]);

我已经查看了答案,但是我的问题是如何将其复制到HTML中,并且仍然能够以相同的方式调用d.Runtime和d.User参数

1 个答案:

答案 0 :(得分:0)

在您的HTML页面内,您需要添加一个脚本标签来保存JavaScript。最好将其放在正文中,以便在加载页面时执行。

<script type="text/javascript">

</script>

接下来,您需要为script标记内的数据定义一个常量。可以复制.json文件的内容并将其粘贴在等号之后:

const data = [
  { 
    "User" : "COMP",
    "Runtime" : 931.216111111 
  },
  { 
    "User" : "AUTO",
    "Runtime" : 600.404444444
  }
]

现在,您可以附加在d3.json回调中拥有的代码:

data.forEach(function(d) {
    d.User = d.User;
    d.Runtime = +d.Runtime;
});

// scale the range of the data
x.domain(data.map(function(d) { return d.User; }));
y.domain([0, d3.max(data, function(d) { return d.Runtime; })]);