Как я могу разобрать массив json из объекта json?
У меня есть объект json, возвращаемый из запроса на получение в actjs. Я хочу получить ключевые и ценностные элементы из этого.
{"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])
})
1 ответ
Решение
Насколько я понимаю, вы хотите получить ключ и значения в массивах Object 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)
})
})