我创建了自己的Json文件,用于collapsible tree in d3。我在每个孩子的文件中有三个额外的字段。我创建了一个包含三个子节点的根节点。每个孩子都有叶子,并在那里结束,所以总共有三个级别。
我因为能够加载json而陷入困境。我用原始的flare.json运行代码,所以其他所有工作。我在下面粘贴了相同的json。谢谢!
更新:我能够通过将json复制/粘贴到html来处理这个问题来创建一个变量,就像这个问题一样:How to load data from an internal JSON array rather than from an external resource / file for a collapsible tree in d3.js?它有效,虽然不理想,因为我有一个大的json列表。 / p>
以下是我的html代码的pastebin链接:http://pastebin.com/njdfrwhf谢谢!
{
"name": "checkD",
"children": [
{
"name": "XX.YY.IP1",
"children": [
{"name": "xxx.yyy.1", "distance": 1, "CC": "US", "m":0},
{"name": "xxx.yyy.2", "distance": 1.8, "CC": "US", "m":0},
{"name": "xxx.yyy.3", "distance": 4.5, "CC": "US", "m":0},
{"name": "xxx.yyy.4", "distance": 2.5, "CC": "US", "m":0},
{"name": "xxx.yyy.5", "distance": 1, "CC": "US", "m":0},
{"name": "xxx.yyy.6", "distance": 2, "CC": "US", "m":0},
{"name": "xxx.yyy.7", "distance": 1, "CC": "US", "m":0},
{"name": "xxx.yyy.8", "distance": 3, "CC": "US", "m":1},
{"name": "xxx.yyy.9", "distance": 1, "CC": "US", "m":1},
{"name": "xxx.yyy.10", "distance": 5, "CC": "US", "m":1}
]
},
{
"name": "XX.YY.IP2",
"children": [
{"name": "xxx.yyy.1", "distance": 1, "CC": "US", "m":0},
{"name": "xxx.yyy.2", "distance": 1.8, "CC": "US", "m":1},
{"name": "xxx.yyy.3", "distance": 2, "CC": "US", "m":1},
{"name": "xxx.yyy.4", "distance": 4.3, "CC": "US", "m":1},
{"name": "xxx.yyy.5", "distance": 5, "CC": "US", "m":0},
{"name": "xxx.yyy.6", "distance": 2, "CC": "US", "m":0},
{"name": "xxx.yyy.7", "distance": 1.3, "CC": "US", "m":0},
{"name": "xxx.yyy.8", "distance": 3, "CC": "US", "m":1},
{"name": "xxx.yyy.9", "distance": 4, "CC": "US", "m":1},
{"name": "xxx.yyy.10", "distance": .5, "CC": "US", "m":1}
]
},
{
"name": "XX.YY.IP3",
"children": [
{"name": "xxx.yyy.1", "distance": 1, "CC": "US", "m":0},
{"name": "xxx.yyy.2", "distance": 1.8, "CC": "US", "m":0},
{"name": "xxx.yyy.3", "distance": 2, "CC": "US", "m":0},
{"name": "xxx.yyy.4", "distance": 4.3, "CC": "US", "m":0},
{"name": "xxx.yyy.5", "distance": 5, "CC": "US", "m":0},
{"name": "xxx.yyy.6", "distance": 2, "CC": "US", "m":0},
{"name": "xxx.yyy.7", "distance": 1.3, "CC": "US", "m":0},
{"name": "xxx.yyy.8", "distance": 3, "CC": "US", "m":0},
{"name": "xxx.yyy.9", "distance": 4, "CC": "US", "m":0},
{"name": "xxx.yyy.10", "distance": .5, "CC": "US", "m":0}
]
}
]
}
答案 0 :(得分:0)
使用d3.json加载文件时,它使用http请求。如果文件是本地文件,大多数现代浏览器将拒绝获取文件,因为这会对浏览器用户造成安全风险(GET c:\ allmypasswords.txt)
Firefox通过本地运行的HTML请求本地文件更加宽松,因此您可以尝试在那里运行代码。另一种方法是使用服务器提供JSON文件,方法是将其托管在Web上或在本地运行服务器。
编辑似乎问题实际上是JSON。您有两个包含前导小数的值。当我在小数前加一个0时就可以了。怪异。