从Array中获取值og Key

时间:2018-06-12 11:07:16

标签: javascript jquery reactjs ecmascript-6

[
   {
      "status_code":"200",
      "status_message":"Success!",
      "new_data":[
         {
            "User1":{
               "info":[
                  {
                     "id":"1",
                     "name":"ABC"
                  },
                  {
                     "id":"2",
                     "name":"XYZ"
                  }
               ]
            },
            "User2":{
               "info":[
                  {
                     "id":"1",
                     "name":"bcd"
                  },
                  {
                     "id":"2",
                     "name":"bcdx"
                  }
               ]
            }
         }
      ]
   }
]

以上是我服务器的json响应。我想得到数组键值。 我这样做:

var obj = JSON.parse(responseData); // ABOVE GIVEN JSON RESPONSE
obj[0].new_data.map((item, key) => {
                                console.log(item)
                                console.log(key)
                             })

console.log(item) returns array of User1 & User2

我想打印User1& User2然后更深入地获取User1和User2的值。 我尝试使用console.log(item.key)但没有工作

2 个答案:

答案 0 :(得分:0)

这是你所期待的,请看看

var a = [
   {
      "status_code":"200",
      "status_message":"Success!",
      "new_data":[
         {
            "User1":{
               "info":[
                  {
                     "id":"1",
                     "name":"ABC"
                  },
                  {
                     "id":"2",
                     "name":"XYZ"
                  }
               ]
            },
            "User2":{
               "info":[
                  {
                     "id":"1",
                     "name":"bcd"
                  },
                  {
                     "id":"2",
                     "name":"bcdx"
                  }
               ]
            }
         }
      ]
   }
];
var data = a[0].new_data[0];
Object.keys(data).forEach(item =>{
  console.log(`your item ${item}`)
  console.log(`Your item data`)
  console.log(data[item])
})

答案 1 :(得分:0)

首先,我不得不说我不太清楚你想在这里实现什么。但假设您想要检索单个用户的数据,则必须这样做。

const response = [
   {
      "status_code":"200",
      "status_message":"Success!",
      "new_data":[
         {
            "User1":{
               "info":[
                  {
                     "id":"1",
                     "name":"ABC"
                  },
                  {
                     "id":"2",
                     "name":"XYZ"
                  }
               ]
            },
            "User2":{
               "info":[
                  {
                     "id":"1",
                     "name":"bcd"
                  },
                  {
                     "id":"2",
                     "name":"bcdx"
                  }
               ]
            }
         }
      ]
   }
];
response[0].new_data.map((value, key) => {
    for (var k in value) {
    console.log(value[k]);
  }
})