使用angular 5或javascript将json对象转换为特定的格式数组

时间:2018-03-07 05:01:13

标签: javascript arrays json angular

我的json数据如下所示。

funcName k = [<current_index_here> | x <- list, x == k]

现在我想将这个json格式化为以下格式。

输出:

  [{
   {name: "box: 122",x=["2018-01-12T00:01:56.480Z", "2018-01-12T00:05:58.116Z", "2018-01-   12T00:10:00.379Z"], y=[0, 3, 5]},
   {name: "box: 125",x=["2018-01-12T00:01:56.480Z", "2018-01-12T00:05:58.116Z", "2018-01-12T00:10:00.379Z"], y=[1,5,2]}
  }]

基本上我将这个数据导出到csv文件。我已经尝试了很多代码片段,但它们都没有达到预期的效果。  任何人都可以帮助我如何在JavaScript中执行此操作。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

很少有观察结果:

  • 您的JSON无效JSON
  • JSON不支持=。使用:代替=
  • 有效的JSON应该像 Array of objects

    enter image description here

根据要求提供解决方案:

var jsonObj = [{
	"name": "box: 122",
	"x": ["2018-01-12T00:01:56.480Z", "2018-01-12T00:05:58.116Z", "2018-01-12T00:10:00.379Z"],
	"y": [0, 3, 5]
}, {
	"name": "box: 125",
	"x": ["2018-01-12T00:01:56.480Z", "2018-01-12T00:05:58.116Z", "2018-01-12T00:10:00.379Z"],
	"y": [1, 5, 2]
}];

var tableString = "<table>",
    body = document.getElementsByTagName('body')[0],
    div = document.createElement('div');
    tableString += "<tr><td>name</td><td>x</td><td>y</td><tr>";

    for (var i in jsonObj) {
        tableString += "<tr>";
        tableString += "<td>" + jsonObj[i].name + "</td>";
        tableString += "<td>" + jsonObj[i].x + "</td>";
        tableString += "<td>" + jsonObj[i].y + "</td>";      
        tableString += "</tr>";
    }

tableString += "</table>";
div.innerHTML = tableString;
body.appendChild(div);
table, td {
  border: 1px solid black;
}