如果我有一篇博客文章,并且我使用以下行推送评论:
blogpost.comments.push({ username: "fred", comment: "Great"});
JSON 的注释部分如下所示:
"comments":[{"0":{"username":"jim","comment":"Good",},"1":{"username":"fred","comment":"great"}}]
理想情况下,我希望看到没有数字添加(“0”、“1”等)并且更平坦的 JSON。像这样的东西:
"comments":[{"username":"jim","comment":"Good"},{"username":"fred","comment":"great"}]
我需要改变什么才能得到这个?
最佳答案
等等,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
的代码。
所以,基本上......将其设为一个数组,它将按您的预期工作。
关于javascript - 如何使用push制作一个简单的json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6269896/