我对JSON有疑问。我正在使用一个jquery插件,它预期JSON结构如下:
[ { key: "Id" },
{ key: "Username" },
{ key: "Age" }
],
但我的JSON看起来像是:
[{
"Employee1":
{
"ID": 43036,
"Name": XYZ,
"Age": 21
},
"Employee2":
{
"ID": 30436,
"Name": MNP,
"Age": 23
}
}]
现在我不想更改我的代码,是否有任何解决方案以便我可以在不使用“Employee”的情况下将Id,Name传递给我的插件json。 我需要我的JSON:
[
{
"ID": 43036,
"Name": XYZ,
"Age": 21
},
{
"ID": 30436,
"Name": MNP,
"Age": 23
}
]
先谢谢
答案 0 :(得分:0)
这样的东西?
var myObj = [{
"Employee1":
{
"ID": 43036,
"Name": XYZ,
"Age": 21
},
"Employee2":
{
"ID": 30436,
"Name": MNP,
"Age": 23
}
}];
var jsonObj = [];
$.each(myObj[0], function(key, val){
jsonObj.push({ key: val.ID });
jsonObj.push({ key: val.Name });
jsonObj.push({ key: val.Age });
});
答案 1 :(得分:0)
您需要一个简单的函数来推送对象内的值,
var data = [{
"Employee1": {
"ID": 43036,
"Name": 'XYZ',
"Age": 21
},
"Employee2": {
"ID": 30436,
"Name": 'MNP',
"Age": 23
}}];
data = data[0];
var output = [];
for (i in data) {
output.push(data[i]);
}
注意:您发布的JSON无效,XYZ和MNP是字符串值,我猜其他数字也是如此。我将验证留给您。