[英]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.. {},
}
我從哪里開始?
您可以在值為pro
的Segment
上使用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.