簡體   English   中英

在Node.js中串聯JSON對象

[英]Concatenating JSON objects in Nodejs

我正在從數據庫中提取數據並將其轉換為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);
        });

});

myData看起來像一個數組,因此您可以執行以下操作:

.then(querySnapshot => {
        querySnapshot.forEach(documentSnapshot => {
               myData.push(receiptToDict(documentSnapshot));

            });

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM