【问题标题】:React Get Value og Key from ArrayReact 从数组中获取键的值
【发布时间】:2018-06-12 11:07:15
【问题描述】:
[
   {
      "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) 但不工作

【问题讨论】:

  • 也共享 JSON 字符串。
  • 预期结果是什么?
  • 在控制台显示如下 {User1: {…}, User2: {…}}
  • 这应该做然后obj[0].new_data[0]
  • 分享你想要的数据结构

标签: javascript jquery reactjs ecmascript-6


【解决方案1】:

这是你所期待的吗,请看一下

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 2014-03-14
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      相关资源
      最近更新 更多