discord.js 将 .json 值导入变量

discord.js import .json values into variable

我将这些值存储在 .json 作为一个非常基本的 xp 系统(我知道损坏问题,想在移动到 db 之前学习 json)

"267752827723492576":{"xp":308,"level":1}, "267752827723492576":{"xp":308,"level":1}

我想将 userid、xp 和级别导入到一个变量中,这样我就可以制作排行榜命令,我已经有了用于进行比较和排序的工作代码(如下)。 "user" 是包含我的数据的变量 json 文件

var users = {
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
      };

          let board = Object.entries(users)
                        .map(([key, val]) => ({id: key, ...val}))
                        .sort((a, b) => b.xp- a.xp);

          console.log(board);

Post不清楚,你就是不想导入json?

const users = require("path_to.json")

您还可以将 fs.readFileJSON.parse

一起使用

此外,您可以使用数组来代替使用对象来存储数据

使用此格式:(使用地图方法后的格式相同)

[{ id: "", xp: 200, level: 2}]

对于性能来说,两者都有起伏,实际上通过 id 获取用户一个对象可能更快,但由于你必须使用 Object.entriesmap 它可能会平衡

万一你切换到数组,下面是你获取用户的方法

// ... just stands for data here, not the deconstructing or rest syntax
const json = [{...}, {...}];
const user = json.find(f => f.id === "the-id-here");