如何从嵌套的json数组中提取数据?

时间:2019-04-27 16:08:25

标签: javascript arrays node.js json multidimensional-array

每次用户提交数据时,我都会在嵌套的json数据数组中接收数据,并且需要提取该数据。

因此,有时它可能是从 guestion_1 guestion_5 ,然后在另一个示例中是从 guestion_1 guestion_9 等等。

通过这种方式,我收到每个用户提交的动态json数据数组。

可能的json结果示例:

{ 
  question_xx: [ 'Another question?', 'Probably yes' ],
  question_3: [ 'Home origin planet?', 'Mars' ], 
  question_2: [ 'Are you from planet Earth?',   'No' ],  
  question_1: [ 'Home origin Galaxy?', 'Milky Way' ], 
}

我希望输出为:

家乡银河系?银河系
你来自地球吗?没有
本土星球?火星

以此类推

1 个答案:

答案 0 :(得分:1)

您可以使用Object.values将数组作为数组数组获得。您如何去那里取决于您所追求的目标。要以字符串形式输出,可以在外部数组上map()并在所有内容join()>

let j = { 
    question_xx: [ 'Another question?', 'Probably yes' ],
    question_3: [ 'Home origin planet?', 'Mars' ], 
    question_2: [ 'Are you from planet Earth?',   'No' ],  
    question_1: [ 'Home origin Galaxy?', 'Milky Way' ], 
  }

// array of arrays
let arr = Object.values(j)
console.log(arr)

// join arrays as strings
// join inner arrays with space, outer arrays with new line
let strings = arr.map(arr => arr.join(" ")).join(' \n')
console.log(strings)