Как извлечь данные из вложенного массива в файл JSON? - PullRequest
0 голосов
/ 27 декабря 2018

Я извлек данные из файла JSON. Но когда я попытался извлечь из него другие данные, я не смог этого сделать, поскольку это вложенный массив ... Я знаю, что решение может прийти легко, но это первоевремя пытаюсь зациклить файл JSON .. поэтому, пожалуйста, введите ваши данные.

SampleData = {
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": [
        "Immortality",
        "Turning tiny",
        "Radiation blast"
      ]
    },
    {
      "name": "Madame Uppercut",
      "age": 39,
      "secretIdentity": "Jane Wilson",
      "powers": [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    },
    {
      "name": "Eternal Flame",
      "age": 1000,
      "secretIdentity": "Unknown",
      "powers": [
        "Immortality",
        "Heat Immunity",
        "Inferno",
        "Teleportation",
        "Interdimensional travel"
      ]
    }
  ]
};

GetJsonData() {
    console.log(this.SampleData["powers"]);

    for (let i = 0; i < this.SampleData["powers"].length; i++) {   

      if (this.SampleData["powers"][i].Immortality) {

        console.log(this.SampleData.powers[i]);
      }
    }
  }

{name: "Molecule Man", age: 29, secretIdentity: "Dan Jukes", powers: Array(3)}
{name: "Eternal Flame", age: 1000, secretIdentity: "Unknown", powers: Array(3)}

1 Ответ

0 голосов
/ 27 декабря 2018

Ваш код должен соответствовать структуре данных JSON;в частности, это все действительные вещи, которые вы можете напечатать:

console.log(this.SampleData.squadName);
console.log(this.SampleData.homeTown);
console.log(this.SampleData.members[0].name);
console.log(this.SampleData.members[0].powers[0]);

Если вы хотите просмотреть каждый элемент и напечатать его информацию, это может выглядеть так:

this.SampleData.members.forEach(member => {
    let powerString = member.powers.join(', ');
    console.log('Name: ' + member.name);
    console.log('Age: ' + member.age);
    console.log('Powers: ' + powerString);
});

Iиспользуется forEach, но вы также можете использовать цикл for (let i =.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...