首页 > 解决方案 > 按值访问json结构内的数组

问题描述

models array当我只有“普利司通”或“大陆”信息时,我如何访问 。我认为这应该适用,Object.keys()find()我所有的尝试都没有奏效。我认为诀窍是获取密钥,使用此密钥您可以迭代forEach()模型。

json_structure = { 
   "tyres":[ 
      { 
         "manufacture":"Bridgestone",
         "models":[ 
            "Potenza",
            "Turanza"
         ]
      },
      { 
         "manufacture":"Continental",
         "models":[ 
            "Allseasonconta",
            "Winter Contact"
         ]
      }
   ]
}

标签: jsontypescript

解决方案


有一种方法可以在没有显式循环的情况下执行此操作,但仍然需要了解整体结构:

json_structure.tyres.filter(o => o.manufacture == "Continental")[0].models

所以第一步是到达"tyres"数组的部分,然后filter"manufacture".

然后你可以查看第一条记录(假设"Continental"是唯一的并且有"models"对象。

执行此操作的另一种更明确的方法类似于您提出的方法:

model = {};

json_structure.tyres.forEach(function(o) {
  if(o.manufacture == "Continental") {
    model = o.models; return;
  }
})

model应该包含模型信息。


推荐阅读