繁体   English   中英

使用 javascript 从上到下获取 json 数据

[英]fetch json data from top to bottom using javascript

我正在尝试从上到下获取 json 数据

尝试这个:

 const finalResult = {}; const data = { "data": [ { "persons": { "Dupont nicolas": "President", "George frimaolo": "engineer", "Tiprana masilo": "football player" } }, { "persons": { "Balack martini": "author", "Dupont nicolas": "Student", "Joseph Allen": "dentist" } }, { "persons": { "Fred Samanta": "baker", "Romero flagipi": "actor", "Fred Samanta": "astronaut", "Joseph Allen": "pilot", "Anne Hedley": "teacher" } } ] } for (let i in data.data) { for (let j in data.data[i].persons) { finalResult[j] = finalResult[j]? finalResult[j]: data.data[i].persons[j]; } } console.log(finalResult);

一个简单的Array.reduce应该可以实现您的目标。

const obj = {
  // json data shown in your question
}

const result = obj.data.reduce(
  (acc, cur) => ({
    ...cur.persons,
    ...acc,
  }),
  {}
);

使用reduceObject.assign

 const combine = (arr) => arr.reduce((acc, { persons }) => Object.assign(acc, persons), {}); const data = [ { persons: { "Dupont nicolas": "President", "George frimaolo": "engineer", "Tiprana masilo": "football player", }, }, { persons: { "Balack martini": "author", "Dupont nicolas": "Student", "Joseph Allen": "dentist", }, }, { persons: { "Fred Samanta": "baker", "Romero flagipi": "actor", "Fred Samanta": "astronaut", "Joseph Allen": "pilot", "Anne Hedley": "teacher", }, }, ]; console.log(combine(data))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM