javascript - 将 JSON 添加到空数组问题
问题描述
我有一个顶级 JSON 结构如下:
{
"video": [],
"messages": [],
"notifications": []
}
我有一个数据库输出(在变量“结果”中),如下我想推入“视频”数组:
[
{
"_id": "5f98ab906439155cfc6f9afb",
"status": "NOT_STARTED",
"date": "2020-10-27T23:21:52.683Z",
"callInvitees": [
{
"username": "user1"
},
{
"username": "user2"
}
]
},
{
"_id": "5f98aba0789e163e0c78908f",
"status": "NOT_STARTED",
"date": "2020-10-27T23:22:08.048Z",
"callInvitees": [
{
"username": "user1"
}
]
}
]
我的代码是:
let dashboardJSON = { "video": [], "messages": [], "notifications": [] };
dashboardJSON.video.push(result)
它有效,但我最终得到了太多的数组(我认为) - 它看起来如下:
{
"video": [
[
{
"_id": "5f98ab906439155cfc6f9afb",
"status": "NOT_STARTED",
"date": "2020-10-27T23:21:52.683Z",
"callInvitees": [
{
"username": "user1"
},
{
"username": "user2"
}
]
},
{
"_id": "5f98aba0789e163e0c78908f",
"status": "NOT_STARTED",
"date": "2020-10-27T23:22:08.048Z",
"callInvitees": [
{
"username": "user1"
}
]
}
]
],
"messages": [],
"notifications": []
}
我想要"video": [ { ... }, { ... } ]
而我有"video": [[ { ... }, { ... } ]]
我该如何解决这个问题?
解决方案
您可以按如下方式使用扩展运算符:
let result = [
{
"_id": "5f98ab906439155cfc6f9afb",
"status": "NOT_STARTED",
"date": "2020-10-27T23:21:52.683Z",
"callInvitees": [
{
"username": "user1"
},
{
"username": "user2"
}
]
},
{
"_id": "5f98aba0789e163e0c78908f",
"status": "NOT_STARTED",
"date": "2020-10-27T23:22:08.048Z",
"callInvitees": [
{
"username": "user1"
}
]
}
]
let dashboardJSON = { "video": [], "messages": [], "notifications": [] };
dashboardJSON.video.push(...result)
console.log(dashboardJSON);
推荐阅读
- python - 错误:由于 OSError 无法安装软件包:[Errno 2] 没有这样的文件或目录:'/tmp/pip-unpack-0odmg2ak/filelock-3.3.2-py3-none-any.whl'
- c++ - C++列表的内存损坏问题
- java - Maven 没有运行 JUnit 测试
- python - 在 df2 中从 df1 中找到“Guest”并使用组合信息创建第三个 DataFrame
- javascript - React TypeError:无法读取未定义的属性(读取“名称”)
- python - 查找遍历源代码的完整控制流图的输入集
- devops - 使用 GitOps 部署时如何提供密码
- reference - C++ 中对函数的未定义引用
- regex - 复杂的正则表达式(换行符,多个变量)
- python - 确定返回的对象是复制还是深度复制