簡體   English   中英

將 {Object} 的嵌套 [Array] 轉換為 > {Object} | JSON 文件

[英]Convert nested [Array] of {Object} to > {Object} | JSON File

我是 JSON 數據操作的新手,我需要一些幫助。

我有一個如下所示的 JSON 文件:

[
  {
    "plannification": {
      "Data": 1,
      "DataType": "GB",
      "InclusionOption1": ".",
      "Default": false,
      "PropositionId": "GBT13456",
      "EssentialLink": "greatpdf.com/pdf.pdf",
      "Term": "1",
      "Segment": "part",
      "Id": "653284",
    }
  },
  {
    "plannification": {
      "Data": 1,
      "DataType": "FR",
      "inclusionOption1": ".",
      "default": false,
      "PropositionId": "FRT13456",
      "EssentialLink": "greatpdf.com/pdf2.pdf",
      "term": "1",
      "Segment": "pro",
      "Id": "984532",
    }
  }
]

我想將此文件轉換為對象,並且只從"Segment": “pro”,提取數據"Segment": “pro”,如下所示:

    {
      984532:{
      Segment: "pro",
      EssentialLink: "greatpdf.com/pdf.pdf",
      PropositionId: "FRT13456",
     },
      etc.. {},
}

我從哪里開始?

您可以在值為proSegment上使用array#filter過濾您的數組。 您可以使用array#reduce並遍歷數組並使用Object#values()取出每個對象的值並創建新對象。

 const data = [{ "plannification": { "Data": 1, "DataType": "GB", "InclusionOption1": ".", "Default": false, "PropositionId": "GBT13456", "EssentialLink": "greatpdf.com/pdf.pdf", "Term": "1", "Segment": "part", "Id": "653284" } }, { "plannification": { "Data": 1, "DataType":"FR", "inclusionOption1": ".", "default": false, "PropositionId": "FRT13456", "EssentialLink": "greatpdf.com/pdf2.pdf", "term": "1", "Segment": "pro", "Id": "984532", } } ], result = data.filter(o => { let { Segment } = Object.values(o)[0]; return Segment === 'pro'; }).reduce((r,o) => { let { Id, Segment, PropositionId, EssentialLink } = Object.values(o)[0]; r[Id] = { Segment, PropositionId, EssentialLink }; return r; },{}) console.log(result);

1 - 讀取 json 文件

2 - 迭代對象數組

3 - 對於每個對象,檢查您想要的屬性

4 - 如果它符合您的要求,請讀取對象的屬性並構建您的對象

您的數據結構無效,首先更正您編寫 json 對象數組的方式,以便我可以弄清楚

暫無
暫無

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

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