有没有一种方法可以将传入的JSON数据与本地JSON数据进行比较



有一个网站(Scryfall(可以搜索所有打印过的魔法:收集卡,并返回特定结果(特定稀有度/力量/名称的卡等(。我喜欢这个网站,但我只想在我个人拥有的卡片中搜索。

所以Scryfall有一个搜索API,返回JSON结果。我已经用我个人收藏的数据将collection.json作为本地json文件,所以当我搜索Scryfall的API时,它会返回json,并将其与我的本地json进行比较,只在前端显示两者匹配的内容。

这就是我目前所拥有的:

async function fetchAsync (url) {
let response = await fetch(url)
let data = await response.json()
return data
}
let collection = fetchAsync('./collection')
let scryfall = fetchAsync('http://api.scryfall.com/cards/search?q=ceratops&unique=cards&as=grid&order=name')
let results = JSON.parse(scryfall).data.filter(card => { return collection.includes(card.id) } )
results.forEach(function (card) {
document.querySelector('.card').innerHTML += "<li>" + card.name + "</li>"
})

我希望它只在前端输出匹配的结果,但它并没有这样做。

您可以使用JSON.stringfy函数转换字符串中的JavaScript对象;您可以与本地json进行比较。

检查JSON.parse&JSON.stringify您将了解如何做到这一点。

相关内容

  • 没有找到相关文章

最新更新