0

关于在 D3 中加载没有 http 请求的 json 的一些相关的堆栈溢出问题

我刚刚开始学习 javascript,但我可能雄心勃勃地认为我可以从Mike Bostock 的这个非常酷的可缩放树图中获取代码,在文件中硬编码我自己的 json 而不是使用 d3.json,并轻松地让树图反映我的新数据。作为一种实践,我使用上面引用的堆栈溢出问题推荐的方法插入了我知道应该正确格式化的试用 json。代码的替换部分如下所示:

var root = {"name": "flare","children": [{"name": "analytics","children": [{"name": "cluster","children": [{"name": "MergeEdge", "size": 10 }]}]}]};

function(root) {

initialize(root);
accumulate(root);
layout(root);
display(root);

它最初看起来像这样,在我删除的脚本末尾有一个右括号:

d3.json("flare.json", function(root) {

  initialize(root);
  accumulate(root);
  layout(root);
  display(root);

但是当我在浏览器中打开 html 文件时,我只得到一个空的灰色框而不是树形图。我意识到我正在犯一些非常基本的错误,我什至无法开始弄清楚它是什么。在我了解有关 d3/javascript 的更多信息之前,我的“模板”方法是否注定要失败,或者是否有一个简单的解决方法?

4

1 回答 1

0

这可能不是您问题的完整解决方案,但至少您需要使用 JSON.parse(JSON_STRING_HERE) 而不是直接使用字符串。

于 2013-05-07T01:59:37.700 回答