如何使用push创建一个简单的json数组

时间:2011-06-07 18:27:29

标签: javascript arrays json push

如果我有一篇博文,我会用以下内容推送评论:

blogpost.comments.push({ username: "fred", comment: "Great"});

JSON的评论部分如下所示:

"comments":[{"0":{"username":"jim","comment":"Good",},"1":{"username":"fred","comment":"great"}}]

理想情况下,我希望看到JSON没有数字加法(“0”,“1”等)并且更平坦。类似的东西:

"comments":[{"username":"jim","comment":"Good"},{"username":"fred","comment":"great"}]

为了得到这个,我需要改变什么?

1 个答案:

答案 0 :(得分:3)

等等,blogpost.comments是一个JavaScript数组,还是其他什么?如果它是一个JavaScript数组,我不会看到执行第一行代码会如何描述更新JSON对象。我希望它会自动完成您的预期,即在数组的末尾推送一个新项目。

通常,如果您有一个数组blogpost.comments,则使用此值:

[{"username":"jim","comment":"Good"}]

然后执行:

blogpost.comments.push({ username: "fred", comment: "Great"});

您肯定最终会得到blogpost.comments的值:

[{"username":"jim","comment":"Good"}, { "username": "fred", "comment": "Great"}]

这让我相信blogpost.comments实际上并不是一个数组,而是另一个数组。如果它是您自己的代码,您应该为blogpost.comments.push提供代码。

所以,基本上......把它变成一个数组,它会像你期望的那样工作。