无法解决JSON对象

时间:2018-02-26 18:30:11

标签: javascript json

我有一个本地保存的JSON文件,其中有一堆对象/字符串。我无法解决每个值。开头看起来像这样:

{
  "result":{
    "heroes":[
      {
        "name":"npc_dota_hero_antimage",
        "id":1,
         "localized_name":"Anti-Mage"
      },
      {
        "name":"npc_dota_hero_axe",
        "id":2,
        "localized_name":"Axe"
      },
      ...

将其包含在我的JS中后,我尝试控制日志console.log(heroes.result[0].heroes[0].name)

我知道这是一个愚蠢的问题,但我现在无法弄明白。这是我的标记:

const endpoint = './heroes.json'

let heroes = []

fetch(endpoint)
    .then(blob => blob.json())
    .then(data => heroes.push(data))

console.log(heroes)

2 个答案:

答案 0 :(得分:0)

您需要将.用于对象属性,因为result是您需要使用的对象。而不是[]



var heroes={
  "result":{
    "heroes":[
      {
        "name":"npc_dota_hero_antimage",
        "id":1,
         "localized_name":"Anti-Mage"
      },
      {
        "name":"npc_dota_hero_axe",
        "id":2,
        "localized_name":"Axe"
      }]
      }
}

console.log(heroes.result.heroes[0].name)




答案 1 :(得分:0)

heroes[0]

应该这样做。请记住,结果是第一个对象'英雄'的属性,第二个'英雄'是对象'结果'的属性。

然而,第二个“英雄”的关键是阵列。因此,您使用索引来访问数组中的第一个元素:heroes[0]

第三,.name包含一个对象,因此我们访问其属性'name',因此this.router.navigate(['../1'], { relativeTo: this.activatedRoute });