javascript - 如何使用 D3 将 JSON 数据更改为 Javascript 对象数组

标签 javascript json d3.js

这是我的 JSON 数据(该文档是一个外部文件,名为“data.json”)

[
    {
    "maand": "augustus 2014",
    "weinigSlaap": "0.15",
    "hogeStress": "0.1",
    "langerReistijd": "0.12",
    "hogeWerkdruk": "0.1",
    "lageLiquiditeit": "0.1"
    }
]

我需要它在 D3 的帮助下变成这样。

var data = [
    [
        {
            axis: "Weinig slaap",
            value: 0.15
        }, {
            axis: "Hoge stress",
            value: 0.1
        }, {
            axis: "Lange reistijd",
            value: 0.12
        }, {
            axis: "Hoge werkdruk",
            value: 0.1
        }, {
            axis: "Lage liquiditeit",
            value: 0.1
        }
    ]
];

我被困在这一点上,不再对生活有任何希望;)

  d3.json('data.json', function (data) {
      data.push(data);
      console.log(data);
   });

最佳答案

你可以尝试这样的事情:

var data = [{
  "maand": "augustus 2014",
  "weinigSlaap": "0.15",
  "hogeStress": "0.1",
  "langerReistijd": "0.12",
  "hogeWerkdruk": "0.1",
  "lageLiquiditeit": "0.1"
}]

var r = /(?:[A-Z])/g;

var keysToSkip = ["maand"]

var result = [];
data.forEach(function(d) {
  var keys = Object.keys(d).filter(x => keysToSkip.indexOf(x) === -1);
  var _o = keys.map(function(k) {
    var o = {};
    var parsedVal = k.replace(r, function(s) {
      return " " + s
    });

    return {
      axis: toTitleCase(parsedVal),
      value: d[k]
    }
  })
  result.push(_o);
})
console.log(result)

function toTitleCase(str) {
  return str.charAt(0).toUpperCase() + str.substring(1).toLowerCase()
}

关于javascript - 如何使用 D3 将 JSON 数据更改为 Javascript 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39999414/

相关文章:

javascript - 在 AngularJS 中保存创建的数据

javascript - 无法在 d3 应用程序中的文本标记上添加 Bootstrap Popover

javascript - .attr 与 D3.js 中的 .classed

javascript - 使用 groupBy 进行多次 ng-repeat

javascript - 将鼠标悬停在 div jquery 上的文本更改不透明度

javascript - 找到两个相邻且接触的标签,并对它们进行 CSS 更改

javascript - D3.js 生成有效的 SVG 但不显示任何内容

php - 来自带链接的 JSON 的 AutoSuggest

javascript - jQuery追加列表样式

c# - 如何使用 C# 和 Newtonsoft JSON 求和值?