DiscordJS:仅替换 JSON 的特定部分

Posted

技术标签:

【中文标题】DiscordJS:仅替换 JSON 的特定部分【英文标题】:DiscordJS: replace only specific part of JSON 【发布时间】:2021-06-10 19:54:40 【问题描述】:

我正在 discord.JS 上创建一个机器人,它创建一个带有一些值的 JSON 数据库。 我该如何做,所以代码不会完全覆盖整个 JSON,而是编辑指定的对象?

if (message.content.startsWith("/requestdeposit"))
             
             let moneyrequest = message.content.split(" ");
                 
             moneyrequest.shift();
     
             moneyrequest = moneyrequest.join(" ");
     var num69 = moneyrequest;
             if(isNaN(num69))
             
                 message.channel.send("You did not enter a valid number.")
                  
                  else
                  
                     
                     

                      requester = message.author.id;
                      
                      let link = require('./money.json')
                     var userid1 = "";
                     userid1 = message.author.id;
                     
                   link = [userid1]: 
                          name: `$message.author.username`,
                          balance: `$moneyrequest`
                        
                     
                       
                      
                     const stringifiedrequest = JSON.stringify(link, null, 4,'\t');
                     
                     
                       

                     fs.writeFile('money.json', stringifiedrequest, (err) => 
                         if (err) 
                             throw err;
                         
                         console.log("JSON data is saved.");
                     );
                 
                  

示例 JSON:


"427861168284106762": 
    "name": "woodendoors7",
    "balance": "1"

我怎样才能做到这一点,当用户运行命令时,它只用他们的用户 ID 覆盖对象(替换“名称”和“余额”),但保留 JSON 的所有其他部分?

【问题讨论】:

【参考方案1】:

而不是用

覆盖JSON对象
link = [userid1]: 
                      name: `$message.author.username`,
                      balance: `$moneyrequest`
                    
                 

你可以分配它

link[userid]: ...

【讨论】:

以上是关于DiscordJS:仅替换 JSON 的特定部分的主要内容,如果未能解决你的问题,请参考以下文章

如何在 discordjs-commando 中编辑/替换嵌入

仅在特定部分进行搜索和替换

DiscordJS 13用户嵌入显示在特定频道发送的最后一条消息

如何找到特定用户 discordjs 的最后发送消息

如何在 Spring Boot 中从 MongoDb 中仅读取特定的 JSON 节点

如何获取特定频道 discordjs 的最后一条消息