簡體   English   中英

如何將現有 JSON 中的對象添加到 Node JS 中的空 object

[英]How to add objects from existing JSON to an empty object in Node JS

我正在嘗試從一個單獨的文件中獲取 JSON 數據信息,並將該信息插入到新創建的 object 中。 我知道有很多類似的問題,但是您如何使用Node JS做到這一點? 我已經嘗試了以下鏈接中的所有選項,但沒有成功

將新元素添加到現有 object

前任:

"EXTERNAL-DATA" : [
  {
    "clients" {
        {
            "firstName" : "Thomas",
            "lastName" : "Johnson",
            "profession" : "Carpenter",
            "age": 27,
            "education": {
               "Diploma": true
            }
        },
        {
            "firstName" : "Jane",
            "lastName" : "Simpson",
            "profession" : "Teacher",
            "age": 32,
            "education": {
                "Masters Degree": true,
                "College Degree": true,
                "Diploma": true
            }
        }
    }
  }
]

如果我只想捕獲,比如說firstNamelastNameeducation並將每個客戶端放在一個新的、空的 object collectedData中作為他們自己的單獨對象,我將如何 go 這樣做? 假設外部數據保存在一個名為data的變量中

  1. 我已經嘗試過傳播運算符collectedData = {... collectedData[i], ...data[i]} ,但它不會將每個都添加為新對象
  2. 我試過使用new Object(); 每次我循環遍歷,但我不確定當外部 JSON 文件中有數千個對象時左側應該是什么樣子。
  3. 我試過Object.assign() ,但沒有運氣

我知道我想多了,但是有人知道 go 的方向嗎? 我覺得精疲力盡。

最終看起來像這樣:

collectedData = {
  {
    "firstName": "Thomas",
    "lastName": "Johnson",
    "education": {
        "Diploma": true
     }
  },
  {
    "firstName": "Jane",
    "lastName": "Simpson",
    "education": {
        "Masters Degree": true,
        "College Degree": true,
        "Diploma": true
    }
  }
}

您可以通過clients數組使用Array.map()到 go (這看起來像您的代碼中的錯字......我假設它是一個數組)並以您想要的方式獲取 object。

const collectedData = clients.map((client) => {
  return {
    firstName: client.firstName,
    lastName: client.lastName,
    education: client.education
  };
});

這基本上循環遍歷每個客戶端,並為每個客戶端創建一個新的 object,其中只有您想要的屬性。 然后,一個全新的數組被返回並分配給collectedData

暫無
暫無

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

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