将json文件加载到d3.js

我已将d3的force.js用于可视化目的。

以下是完整js的代码段:

d3.json("test.json", function(json) {

force.nodes(json.nodes)

.links(json.links)

.start();

});

test.json文件当前与js文件位于同一位置。工作正常。这些文件位于我的Web应用程序的“页面”文件夹中。如果我使用http网址“ http://

localhost:8084 / FMS / faces / pages / test.json”代替“

test.json”,则效果很好。但是,如果我使用“ /Users/subashbasnet/test.json”,即文件路径代替“

test.json”,则它不起作用。

如果我将json输出设置为var并代替“ test.json”使用,它将无法正常工作。例如:

 var myjson = "{"nodes":[{"name":"MYriel","group":1},{"name":"Labarre","group":2}],"links":[{"source":1,"target":0,"value":1}]}";

d3.json(myjson, function(json) {

force.nodes(json.nodes)

.links(json.links)

.start();

});

我的.jsp文件具有以下输出:

<html>

<head></head>

<body>

<pre>{"nodes":[{"name":"MYriel","group":1},{"name":"Labarre","group":2}],"links":[{"source":1,"target":0,"value":1}]}</pre>

</body>

</html>

我应该如何将json中的json <pre>替换为“ test.json”。

亟待解决任何一个问题。提前致谢。

回答:

如果要在JSP中生成数据,则可以简单地将其执行

<script>var theData = (<%= unquotedJsonData %>);</script>

直接生成JS对象而不是JSON字符串

<script>var theData = ({"nodes":[...]});</script>

然后,您无需使用d3的json解析器,只需执行

force.nodes(theData.nodes)....

以上是 将json文件加载到d3.js 的全部内容, 来源链接: utcz.com/qa/400159.html

回到顶部