将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