首页 > 解决方案 > 使用 discord.js 中的关键字搜索 JSON?

问题描述

今天我需要一些关于search命令的帮助!

我想获取一个名称,并且waifuURL当有人指定特定关键字(waifus 名称)时。这是我json的格式:

{
    "waifuID": {
        "1": {
            "names": "Megumin",
            "img_url": "https://s4.anilist.co/file/anilistcdn/character/large/b89361-xH1t0q5WeAN8.png",
            "claims": "#1"
        },
        "2": {
            "names": "Mai Sakurajima",
            "img_url": "https://s4.anilist.co/file/anilistcdn/character/large/b127222-IY5iDRuXLY8i.png",
            "claims": "#2"
        },
        "3": {
            "names": "Zero Two",
            "img_url": "https://s4.anilist.co/file/anilistcdn/character/large/b124381-pkTKi6HHNuVR.png",
            "claims": "#3"
        }
}
}

我希望能够做到!search <waifuname>,它会img_urljson.

例如:

输入:!search Zero Two

回复:

Zero Two

<img_url>

(这些回复将被嵌入)

这就是它的要点,谢谢!

标签: javascriptnode.jsdiscord.js

解决方案


您可以使用Object.values()来查找有问题的对象。从那里,您将能够访问它的img_url财产、claims财产等。

// returns corresponding object
Object.values(obj.waifuID)
  .find(value => value.names === "Zero Two"))
// getting img_url
console.log(Object.values(obj.waifuID)
  .find(value => value.names === "Zero Two").img_url)

推荐阅读