字符串化JSON数据丢失了我要字符串化的对象

麦克

我是NodeJS的新手,我想通过编写Discord机器人来更好地学习它。但是我在将对象字符串化为JSON时遇到问题。我认为设置的数组存在问题,但是我不确定该怎么做。如果不应该设置数组并使用下面的guildMembers示例,该如何将这些数据插入JSON文件?

我在StackOverflow上浏览了一些示例,并找到了这篇特别的文章:JSON Stringify从Object删除数据但是,鉴于我要实现的目标,我不清楚。

    var o = {};
    var guildKey = guild.id;
    o[guildKey] = [];
    o[guildKey]['guildMembers'] = {};
    var guildMembers = []
    guild.members.forEach(function(guildMember, guildMemberId) {
        if (!guildMember.user.bot){
            var memberData = {
                id: guildMember.id,
                data: {
                    userName: guildMember.user.username,
                    nickName: guildMember.nickname,
                    displayName: guildMember.displayName,
                    joinedAt: guildMember.joinedAt
                }
            }

            guildMembers.push(memberData);
        };
    });
    o[guildKey]['guildMembers'] = guildMembers;
    json = JSON.stringify(o);

我期望数据显示guildMembers对象以及guildKey对象下的数组。但是,JSON仅显示带有空数组的guildKey对象:

{“ guildKey”:[]}

涡流

您将guildKey设置为数组,然后尝试将其用作对象...解决方案是:

o[guildKey] = {};

就像提到的帖子一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章