javascript - 在 javascript 代码中包含 .json 数据 (d3.js)

标签 javascript json d3.js

我的个人网站不允许我上传需要由 JavaScript 代码读取的 .json 文件。我需要在正文中包含该 .json 文件中的数据。

我使用此代码来读取和使用 .json 文件:

d3.json("flare.json", function(error, flare) {
  if (error) throw error;

  root = flare;
  root.x0 = height / 2;
  root.y0 = 0;

  function collapse(d) {
    if (d.children) {
      d._children = d.children;
      d._children.forEach(collapse);
      d.children = null;
    }
  }

  root.children.forEach(collapse);
  update(root);
});

但是,由于我需要将 json 数据嵌入到脚本中,我不知道如何执行此操作。

我的 .json 文件如下所示:

{
 "name": "flare",
 "children": [
  {
   "name": "analytics",
   "children": [
    {
     "name": "cluster",
     "children": [
      {"name": "AgglomerativeCluster", "size": 3938},
      {"name": "CommunityStructure", "size": 3812},
      {"name": "HierarchicalCluster", "size": 6714},
      {"name": "MergeEdge", "size": 743}
     ]
    },
    {
     "name": "graph",
     "children": [
      {"name": "BetweennessCentrality", "size": 3534},
      {"name": "LinkDistance", "size": 5731},
      {"name": "MaxFlowMinCut", "size": 7840},
      {"name": "ShortestPaths", "size": 5914},
      {"name": "SpanningTree", "size": 3416}
     ]
    },
    {
     "name": "optimization",
     "children": [
      {"name": "AspectRatioBanker", "size": 7074}
     ]
    }
   ]
  },

最佳答案

你可以将 json 嵌入到 js 中,因为 JSON 只是一个对象。

var flare = {
 "name": "flare",
 "children": [
  {
   "name": "analytics",
   "children": [
    {
     "name": "cluster",
     "children": [
      {"name": "AgglomerativeCluster", "size": 3938},
      {"name": "CommunityStructure", "size": 3812},
      {"name": "HierarchicalCluster", "size": 6714},
      {"name": "MergeEdge", "size": 743}
     ]
    },
    {
     "name": "graph",
     "children": [
      {"name": "BetweennessCentrality", "size": 3534},
      {"name": "LinkDistance", "size": 5731},
      {"name": "MaxFlowMinCut", "size": 7840},
      {"name": "ShortestPaths", "size": 5914},
      {"name": "SpanningTree", "size": 3416}
     ]
    },
    {
     "name": "optimization",
     "children": [
      {"name": "AspectRatioBanker", "size": 7074}
     ]
    }
   ]
  };


  root = flare;
  root.x0 = height / 2;
  root.y0 = 0;

  function collapse(d) {
    if (d.children) {
      d._children = d.children;
      d._children.forEach(collapse);
      d.children = null;
    }
  }

  root.children.forEach(collapse);
  update(root);
});

关于javascript - 在 javascript 代码中包含 .json 数据 (d3.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928543/

相关文章:

javascript - 未捕获的类型错误 : svg. selectAll 不是 D3.js 强制布局中的函数

javascript - 结果结束后如何停止 slider 滑动 $.each 循环

json - 在 Ada 中解析 json5/js 对象文字

javascript - 从 JSON 文件中读取带有 html 标签的内容并在 javascript 中显示

javascript - 如何在 jquery 中构建 json 文件并从中提取数据值?

javascript - 查找包含 AutoCompleteExtender 的 UpdatePanel 的 ID

d3.js - 如何在 d3js v5 中创建具有可变半径的蜂群图?

d3.js - 如何使用 dc.js 显示行图表的底部数据

javascript - IE7(及以下)的嵌套 OL 数字.数字样式列表 - Javascript 解决方案?

javascript - 防止多个 Ajax 请求(带 pushstate 的分页)