如何仅读取特定类型的API数据?

时间:2019-06-17 16:00:35

标签: javascript

我的脚本从网站API(https://api.discogs.com/)中读取数据,例如https://api.discogs.com/releases/249504

"identifiers": [{"type": "Barcode", "value": "5012394144777"}...]

我希望它仅读取条形码类型的标识符。现在,我可以看到它正在读取整个数组,而这并不是我想要的。这是“把网撒得太宽” /

  var barcode = data.identifiers;

const barcode = data.identifiers || []

const barcode = data.identifiers.type == "Barcode" || []

我认为这是一个对象数组,但是如何仅将所需数据作为目标? TIA。

编辑:我很确定“条形码”将作为引号中的字符串输入,因为其他可能的标识符类型之一是“标签代码”,该标识符肯定必须作为字符串输入,因为它包含一个空间!

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找过滤功能:

> data = [{'type':'Barcode', value:'A'}, {'type':'Matrix', 'value':'B'}]
[ { type: 'Barcode', value: 'A' }, { type: 'Matrix', value: 'B' } ]
> data.filter(x => x.type == 'Barcode')
[ { type: 'Barcode', value: 'A' } ]

如果您不了解内置的filter方法,也可以使用for循环来做类似的事情:

const b = []
for (x of data) {
  if (x.type == 'Barcode') {
    b.push(x)
  }
}