【问题标题】:searching through a json file using js使用 js 搜索 json 文件
【发布时间】:2021-06-07 06:40:39
【问题描述】:

我有一个 json 文件,其中包含供我的 discord 机器人使用的数据。数据如下:

{
  "category": {
    "command": {
       "Description": "", 
       "Aliases": []
    }
  }
}

我有这段代码可以在给定类别时尝试检索数据:

module.exports = {
  run: async (client, message, args) => {
    for (command in help_data[args[0]]) {

      console.log(command)
      console.log(command["Description"])   

      embed.addField({name: command, value: help_data[args[0]][command]["Description"]});
    }
  }
}

args[0] 是类别或命令的名称,但在本例中为category

当我运行命令时,我在控制台中看到

help
undefined

在我的不和谐嵌入中我看到了

[object Object]
undefined

在 json 文件中查找值的正确方法是什么?

另外,对于嵌入,我如何让它说出命令名称而不是 [object Object]

【问题讨论】:

  • 您传递给 args[0] 的值是什么。
  • @Sadhu 抱歉,将编辑。 args[0] 是传递给被调用函数的 var args 的第一个值
  • @Sadhu 编辑了问题
  • 那么 help 是命令名吗?什么是未定义的?

标签: javascript node.js discord.js


【解决方案1】:

对象属性区分大小写。您定义了一个名为 description 的键,但使用 Description 调用它。这行不通。这样做:

embed.addField({name: command, value: help_data[args[0]][command]["description"]});

【讨论】:

  • 这不是问题,我提供的 json 有点错误,我所做的会起作用,我编辑了我的问题来解决这个问题,很抱歉造成混乱。
  • 那么我需要更多的输入。 help_data[args[0] 是如何定义的?
  • help_data 是 json 文件中的所有数据,args[0] 是类别或命令的名称,但在这种情况下它将是类别因此,help_data[args[0]] 是json为指定类别
  • 对不起,没有合适的例子,我无法在可接受的时间内提供帮助。
猜你喜欢
  • 1970-01-01
  • 2021-03-10
  • 2021-11-17
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 2019-01-04
相关资源
最近更新 更多