gpt4 book ai didi

javascript - 将 json 文件加载到 d3.js

转载 作者:行者123 更新时间:2023-11-29 14:59:20 25 4
gpt4 key购买 nike

我使用 d3 的 force.js 进行可视化。

以下是完整的js片段:

d3.json("test.json", function(json) {
force.nodes(json.nodes)
.links(json.links)
.start();
});

test.json 文件当前与 js 文件位于同一位置。它工作正常。这些文件位于我的网络应用程序的“页面”文件夹中。如果我使用 http url“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>

我应该如何在 <pre> 中加载 json标记代替 "test.json"。

任何一个问题的解决方案都非常期待。提前致谢。

最佳答案

如果您在 JSP 中生成数据,那么您可以简单地让它执行

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

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

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

那你就不用d3的json解析器了,直接用

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

关于javascript - 将 json 文件加载到 d3.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com