我正在尝试将我的JSON结果转换为数组以将其绑定到我的Kendo控件。 我得到的JSON结果如下。
"Issues": [
{
"Id": null,
"Key": null,
"Values": [
{
"Key": "Display Name",
"Value": "Rya"
},
{
"Key": "UserName",
"Value": "RH"
},
{
"Key": "Count",
"Value": "350"
}
]
},
{
"Id": null,
"Key": null,
"Values": [
{
"Key": "Display Name",
"Value": "Mike"
},
{
"Key": "UserName",
"Value": "ML"
},
{
"Key": "Count",
"Value": "90"
}
]
}
]
我需要将它绑定到Kendo控件的数组如下所示。
{ "Display Name": 'Rya', "UserName" : "RH", value: 350 },
{ "Display Name": 'Mike', "UserName" : "ML", value: 90 }
i)我不想硬编码字符串“显示名称”,“用户名”,“RH”。我试过v.Values [0] .Key:v.Values [0] .Value,但它不起作用。
ii)另外我不知道会有多少“键,值”对,所以我需要遍历值并生成数组而不是固定
category: v.Values[0].Value,
UserName: v.Values[1].Value,
value: v.Values[2].Value,
.
.
.
score: v.values[n].value
答案 0 :(得分:2)
如果你正在使用ES6,在这种情况下你真的不需要lodash:
<a id="download" download="triangle.png">
<button type="button" onClick="download()">Download</button>
</a>
<canvas id="myCanvas" width="720" height="450">Your browser does not support Canvas.</canvas>
http://codepen.io/cjke/pen/RprJdG?editors=0010
如果想使用lodash或不使用ES6,那么:
var r = json.Issues.map(v => ({
category: v.Values[0].Value,
value: v.Values[2].Value,
}));