discord.js 将 .json 值导入变量
Posted
技术标签:
【中文标题】discord.js 将 .json 值导入变量【英文标题】:discord.js import .json values into variable 【发布时间】:2020-09-22 01:58:19 【问题描述】:我将这些值作为一个非常基本的 xp 系统存储在 .json 中(我知道损坏问题,比如在迁移到 db 之前学习 json)
"267752827723492576":"xp":308,"level":1, "267752827723492576":"xp":308,"level":1
我想将用户 ID、xp 和级别导入到变量中,这样我就可以创建排行榜命令,我已经有了用于进行比较和排序的工作代码(如下)。 “用户”是包含我来自 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);
【问题讨论】:
【参考方案1】:post不清楚,就是不想导入json?
const users = require("path_to.json")
您也可以在JSON.parse
旁边使用fs.readFile
除了使用对象来存储数据,您还可以使用数组
使用这种格式:(使用 map 方法后的格式相同)
[ id: "", xp: 200, level: 2]
性能都有起有落,实际上通过 id 获取用户的对象可能更快,但由于您必须使用 Object.entries
和 map
它可能会平衡
如果您确实切换到数组,以下是获取用户的方法
// ... just stands for data here, not the deconstructing or rest syntax
const json = [..., ...];
const user = json.find(f => f.id === "the-id-here");
【讨论】:
以上是关于discord.js 将 .json 值导入变量的主要内容,如果未能解决你的问题,请参考以下文章
如何在 discord.js 代码块中对 json 对象值进行排序?
Discord.js 基于 var 从 json 文件中获取数据