【发布时间】:2021-01-09 10:00:44
【问题描述】:
您好,我正在尝试从 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 文件的数据)并得到: result for data3 (console.log(data3) )
我还为 data1(来自 api 的数据)做了 console.log 并得到: result for 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 ] 请告诉我怎么做,谢谢!
【问题讨论】:
-
你的 jsnf 变量中有什么数据?
-
而且你在做 stringify... 你必须做 JSON.parse() 代替,以便可以使用 Javascript 函数
-
jsnf的内容是什么?includes基本上与===比较,这对于您的对象肯定会失败,因为对于对象,===只有在它们指向相同的引用时才返回 true。显然不是这样,因为一个是从本地文件中读取的,另一个是从 API 返回的。 -
请添加您的 json 对象和预期输出,以便您了解您真正想要的内容
-
您能否创建一个 codepen.io 示例,或者暂时提供硬编码的 jsnf 数据:)
标签: javascript json api