0

我有一个关于 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
        }
    ]

提前致谢

4

2 回答 2

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 是字符串值,我想其他数字也是如此。我将验证留给您。

于 2012-04-27T15:18:45.490 回答
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 });
}); 
于 2012-04-27T15:07:44.763 回答