У меня есть массив JSON из объекта JSON в JS, как:

let jsonObject = JSON.parse(response);
let jsonArray = jsonObject.items;

Когда я пытаюсь разобрать его как массив с помощью

jsonArray.map((item)=>{
  console.warn(item.name); // also I tried with for loop like jsonArray[i].name
})

Я получил сообщение об ошибке типа TypeError: Невозможно прочитать свойство.

Но в jsonArray у меня есть элемент с именем ключа. Также, когда я пытаюсь напечатать как jsonArray[0].name, это работает отлично!

Пример jsonArray (объекты Json на jsonArray не совпадают):

[
  {
    "name":"SomeNameHere",
    "secondKey":"secondValue"
  },
  {
    "type":"typeValue",
    "secondType":"typeValue",
  },
  {
    "name":"SomeNameHere",
    "secondKey":"secondValue"
  },
  {
    "type":"typeValue",
    "secondType":"typeValue",
  }
]

Если это важно, я использовал Mac OS Mojave и запускаю react-native run-android на своем устройстве.

viewListArray = jsonArr.map((item) =>  {
    console.warn(item.name);
});
-2
Nursultan Sadyk 15 Апр 2019 в 13:55

2 ответа

Лучший ответ

На каждом втором объекте JSON у меня нет имени свойства "имя". и я не проверял это. Теперь я проверяю как item.name == undefined? Item.name: '';

0
Nursultan Sadyk 19 Апр 2019 в 11:40
jsonArray.forEach((item) => {
    console.warn(item.name);
});

Array.forEach () будет перебирать массив.

0
Kamran Fekri 15 Апр 2019 в 15:32