如何在 json 密钥中访问 Json 密钥

How to access Json key inside a json key

本文关键字:密钥 Json 访问 json      更新时间:2023-09-26

我有一个关于 JSON 的问题。我正在使用一个jquery插件,其预期的JSON结构如下:

[   { key: "Id" },
            { key: "Username" },
                    { key: "Age" }
        ], 

但我的 JSON 看起来像:

    [{
        "Employee1": 
        {
          "ID": 43036,
          "Name": XYZ,
          "Age": 21
        },
       "Employee2": 
        {
          "ID": 30436,
          "Name": MNP,
          "Age": 23
        }
    }]

现在我不想更改我的代码,是否有任何解决方案,以便我可以在不使用"员工"的情况下将 Id 、Name 传递给我的插件 json。我需要我的 JSON 作为:

[        
        {
          "ID": 43036,
          "Name": XYZ,
          "Age": 21
        }, 
        {
          "ID": 30436,
          "Name": MNP,
          "Age": 23
        }
    ]

提前致谢

像这样的东西?

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 });
}); 

你需要一个简单的函数来推动对象内部的值,

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