javascript - 在 Nodejs 中连接 JSON 对象
问题描述
我从我的数据库中提取数据并转换为 JSON,但现在我想将所有 JSON 数据放入单个 JSON 对象中。我尝试了一些方法,但我对 javascript 的语法不够熟悉,并且无法找到格式正确的工作解决方案。我想简单地拥有一个对象(或两个)并不断地将新的 JSON 添加到旧对象中。我不想为此重视任何模块。
.then(querySnapshot => {
querySnapshot.forEach(documentSnapshot => {
myData2 = myData.concat(receiptToDict(documentSnapshot));
console.log("Found document at", myData2);
});
});
解决方案
你可以
var myData2 = Object.assign({}, myData, receiptToDict(documentSnapshot))
或者
var myData2 = { ...myData, ...receiptToDict(documentSnapshot) }
编辑
如果您考虑循环,请考虑循环之外的 myData 声明,然后:
var myData = {};
...
.then(querySnapshot => {
querySnapshot.forEach(documentSnapshot => {
myData = Object.assign({}, myData, receiptToDict(documentSnapshot))
console.log("Found document at", myData);
});
});
2 编辑
一个对象不能有两次相同的属性,所以如果你有类似的东西
let myData = {};
let dataArray = [
{value: 01},
{value: 02},
{value: 03},
{value: 04},
{value: 05}
]
dataArray.forEach((data) => {
myData = Object.assign({}, myData, data)
})
console.log(myData);
您最终将始终替换道具“价值”,因此在这种情况下,您应该执行以下操作:
var myData = {};
...
.then(querySnapshot => {
querySnapshot.forEach(documentSnapshot => {
//I don't know which props you obj has so, I suppose it has a unique id for example
let doc = receiptToDict(documentSnapshot);
myData[doc.id] = doc;
console.log("Found document at", myData);
});
});
推荐阅读
- sql - Oracle:拆分分隔字符串并选择大于输入日期的日期
- sql-server - 在 SQL Server 中选择重复记录的子集
- ios - GPU 最小压缩仅在 iOS 11.0 或更高版本上受支持。图片.xcassets
- actions-on-google - Google Actions 不执行
- tensorflow - Tensorflow Lite toco --mean_values --std_values?
- mysql - MYSQL 匹配具有多个 id 的同一张表中的多行
- r - 如何遍历多个文件,执行一些操作并将循环中的所有变量写入文件?
- java - 在网络调用期间处理 UI 的 Android 最佳实践
- java - 等待两个 Observable 完成后再继续?
- javascript - 是否可以检测到 chrome 远程调试器或启用自动化