javascript - 如何使用push制作一个简单的json数组

标签 javascript arrays json push

如果我有一篇博客文章,并且我使用以下行推送评论:

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/

相关文章:

Javascript 模块无法在 github 页面上运行

Javascript object.id 在元素数组中返回 "undefined"

javascript - 带有多个 || 的 If 语句和 && 不工作

php - in_array() 不返回所有结果

javascript - 如何将 json 数据从 C# Controller 传递到 Angular js?

java - Swagger API 通过 json 验证使用 json

来自字符串的 JavaScript RegExp 然后运行 ​​.test() 似乎不起作用

javascript - 迭代对象数组 javascript - 奇怪的行为?

javascript - 从 html 表中选择一行(突出显示)并单击按钮发送值

c++ - SORT 整数数组 TAG 结构数组(或两个)