Czy istnieje biblioteka JavaScript, która może przekształcić JSON w ten sposób:

[{},
 {title: ""},
 {title: "", author: "unknown"},
 {isbn: "234234"},
 {author: "n/a"}
]

I zwroty

[{title:"", author: "", isbn: ""},
 {title: "", author: "", isbn: ""},
 {title: "", author: "unknown", isbn: ""},
 {title: "", author: "", isbn: "234234"},
 {title: "", author: "n/a", isbn: ""}
]

To było trochę trudne do wyjaśnienia tego, więc używam łatwego do zrozumienia przykładu.

Aktualizacja: Nie znam pola nieruchomości przed czasem. Jest dynamiczny.

3
qimisle 18 styczeń 2020, 07:06

1 odpowiedź

Najlepsza odpowiedź

Ten ?

let origin= 
    [ { }
    , { title: '' }
    , { title: '', author: 'unknown' }
    , { isbn: '234234' }
    , { author: 'n/a' }
    ]

const modele = origin.reduce((a,c)=>{
  for(let p in c) if (!a[p]) { a[p]='' }
  return a
},{})

origin.forEach((elm,i)=>origin[i]=Object.assign({}, modele , elm))

// result
origin.forEach(elm=> console.log ( JSON.stringify(elm)))
2
Mister Jojo 18 styczeń 2020, 05:00