【问题标题】:How to access Json key inside a json key如何在 json 密钥中访问 Json 密钥
【发布时间】:2012-04-27 23:18:45
【问题描述】:

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

提前致谢

【问题讨论】:

  • 我真的不明白你在问什么。要将第二个 JSON 字符串转换为第一个的格式,还是要使用第二个 JSON 字符串创建的对象来创建格式正确的新 JSON 对象?
  • 我被困在“我有一个关于 JSON 的问题”,没有任何意义......你能解释一下你想要什么吗?你只想要钥匙吗?最有可能与stackoverflow.com/questions/18912/how-to-find-keys-of-a-hash 重复
  • 是的,实际上插件只需要键,例如是 Id 、 Name 和 Age。它使用这些值生成一个网格,但在我的 json 中,每个 Id, name 都有一个父键(Employee)。我希望 json 看起来像 [{ "ID": 43036, "Name": XYZ, "Age": 21 },{ "ID": 30436, "Name": MNP, "Age": 23 } ]

标签: javascript jquery json


【解决方案1】:

这样的?

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

【讨论】:

    【解决方案2】:

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

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

    DEMO

    注意:您发布的 JSON 无效,XYZ 和 MNP 是字符串值,我想其他数字也是如此。我将验证留给您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 2020-11-28
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      相关资源
      最近更新 更多