【问题标题】:Discord JS : How to "iterate" a stringified JSON?Discord JS:如何“迭代”字符串化的 JSON?
【发布时间】:2021-01-13 03:20:01
【问题描述】:

我从几天开始就在学习 JS(准确地说是不和谐的 JS)。一切顺利,但现在我遇到了一个我真的不知道如何解决的问题。

我有一个 sequelize 数据库,一切正常,又名“用户卡集合”,按预期填写。 现在,我想要求显示所有“user_id”卡片集合。

我使用了 JSON.stringify(它已经是正确的方法了吗?)。我可以轻松地在 console.log 中调用它,显示为 JSON。但是如何将列表插入到嵌入中以将其发送给用户?

我尝试迭代它,它告诉我它当然是不可迭代的。

这是我关心的代码:

    } else if (command === 'Collection' || command === 'collec' || command === 'col') {     
                                            const target = message.author.id;                               
                                            const cards = await UserCollec.findAll({where: {user_id: target}, attributes: ['card_name', 'card_lvl', 'amount']});
                                            console.log(cards.every(card => card instanceof UserCollec)); // true if ok. DEBUG : working as intended.                                           
                                            const JSONcardlist = console.log(`${message.author}, all your cards :`, JSON.stringify(cards, null, 2)) // returns the JSON list. DEBUG : Working as intended.

当我尝试在消息或嵌入中调用 ${JSONcardlist} 时,它返回未定义。我错过了什么?

感谢您的帮助 :) 可能很简单,但是,您知道...这里是初学者,几个小时后在互联网上找不到答案,所以最好问一下。

【问题讨论】:

  • 为什么要迭代 JSON 而不是实际的数组/对象?
  • 因为我不知道我有/怎么做。我会去看看这个,谢谢 :) 或者更准确地说,这是我发现从我的 sqilte db 获取我想要的数据的唯一方法。我尝试了其他一些总是返回未定义的东西,至少在控制台中有效,所以我猜它更接近了。
  • 这能回答你的问题吗? Assign Variables to JSON data in node JS
  • 你能分享一个 JSON sn-p 吗?
  • 也许吧。我觉得这有点偏离我想做的事情,但我会从每一个例子中学习。当我了解所有这些是如何工作的时,我最终会设法做到这一点:)

标签: javascript json discord stringify


【解决方案1】:

没关系,谢谢帮助。

我找到了我的解决方案:

function GetCards(JSONcardlist) { return Object.values(cards).map(card => `• ${card.card_name} (lvl ${card.card_lvl}), ${card.amount} x`).join('\n')
                                        }
message.channel.send(GetCards(JSONcardlist))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2016-02-17
    • 2019-07-15
    • 2023-03-19
    • 2023-03-10
    • 2010-09-19
    相关资源
    最近更新 更多