创建JSON属性

时间:2016-03-27 21:15:04

标签: javascript json node.js

美好的一天stackOverflow,

我在创建JSON对象时遇到了一些麻烦。我有这段代码,它应该将名称添加到名为members的列表中,然后为每个名称添加一个属性。这是有问题的片段:

for (var i = 0; i < msg.channel.server.members.length; i++) {
  savedVars.Servers[thisServerID]["Members"].push(msg.channel.server.members[i].name);
  savedVars.Servers[thisServerID]["Members"][i]["Object"] = {};
};

上面的代码段完美地写出了名称列表,但没有创建"Object"属性。也没有错误或任何迹象表明它根本处理这条线。

整体结构应如下所示:

Members: [
  Member1: {
    Object: {}
  },
  Member2: {
    Object: {}
  },
  etc...
]

非常感谢提前。此致,
@Medallyon

1 个答案:

答案 0 :(得分:1)

您的第一行将字符串推送到数组,然后您将其用作添加其他属性的对象,它会无声地失败,因为浏览器认为您正在访问该字符串的字符。

请使用:

savedVars.Servers[thisServerID]["Members"].push({
    name: msg.channel.server.members[i].name,
    object: {}
});