-2

我有一个从 reactjs 中的 get 请求返回的 json 对象。我想从中获取关键和价值项目。

{"return":"Success",

"Items": [

{"Name":"centracore", "Type":"rollover" ,  "Os":"Windows",  "Level":"1", "Language_Used":"Assembly", "Size":"4mb"},

{"Name":"centracore", "Type":"Atype" ,   "Os":"Linux"  ,  "Level":"3", "Language_Used":"C++"     , "Size":"4mb"},

{"Name":"centracore", "Type":"random" ,  "Os":"OSX"    ,  "Level":"2", "Language_Used":"C"       , "Size":"4mb"}

]}

我注意到我可以使用下面的代码手动访问这些值。

请记住,this.state.stuff 持有我的 json 对象。我的格式 json 格式对我想要做的事情有害吗?

if(this.state.authenticated ){
            {this.GetPage.bind(this)}
            let x = this.state.stuff; Object.entries(this.state.stuff).map((type,item) => {

            console.log(type[1][0])
            console.log(type[1][1])
            console.log(type[1][2])
          })
4

1 回答 1

1

据我了解,您希望能够在 Object Items 数组中获取键和值,因此您需要映射 items 数组,然后key, values从获得的项目中映射Object.entries()

你可以这样做

 if(this.state.authenticated ){
        {this.GetPage.bind(this)}
        this.state.stuff.Items.map((item, index) => {
             Object.entries(item).forEach([key, value], () => {
                    console.log(key, value)
             })

      })

工作示例

var obj = {"return":"Success",

"Items": [

{"Name":"centracore", "Type":"rollover" ,  "Os":"Windows",  "Level":"1", "Language_Used":"Assembly", "Size":"4mb"},

{"Name":"centracore", "Type":"Atype" ,   "Os":"Linux"  ,  "Level":"3", "Language_Used":"C++"     , "Size":"4mb"},

{"Name":"centracore", "Type":"random" ,  "Os":"OSX"    ,  "Level":"2", "Language_Used":"C"       , "Size":"4mb"}

]}
obj.Items.map((item, index) => {
       console.log( item);
       Object.entries(item).forEach(([key, value]) => {
              console.log(key, value)
       })

})

JSFIDDLE

于 2017-06-24T08:15:15.467 回答