首页 > 解决方案 > 从 api 获取新数据

问题描述

您好我正在尝试从 API 获取新数据(使用 JSON 文件过滤数据)我想从 API 中过滤数据并使用 JSON 文件进行过滤并获得我尝试过的新数据

    const jsnf = JSON.stringify(fs.readFileSync("./data.json", "utf8"));
    const res = await axios.get("https://fortnite-api.com/v2/cosmetics/br/new")
    const data1 = res.data.data.items;
    const data2 = JSON.stringify(data1)
    const data3 = JSON.stringify(Object.values(data1), null, 2)

我还尝试了 console.log data3 (来自 JSON 文件的数据)并得到: data3 的结果(console.log(data3) )

我也为data1(来自api的数据)做了console.log并得到: data1的结果(console.log(data1))

[ 如果我做:

console.log(data1.filter((x) => jsnf.includes(x)))

我什么也得不到[]]

请如果您知道如何制作 [ console.log(jsnf == data1) \\true

OR

[ console.log(data1.filter((x) => jsnf.includes(x))) ] \\x = new items from api ] 请告诉我怎么做,谢谢!

标签: javascriptjsonapi

解决方案


当您data.json从本地设备读取文件并JSON.stringify处理返回的文件时。

 const jsnf = JSON.stringify(fs.readFileSync("./data.json", "utf8"));

知道这是一个string现在,如果你不使用JSON.parse(jsnf)开始使用你的过滤器逻辑。

console.log(data1.filter((x) => jsnf.includes(x)));

知道这不会按预期工作。

此外,除非我们知道其中有哪些数据,否则我们jsnf无法确定您过滤事物的逻辑。


推荐阅读