Как извлечь данные из вложенного массива json? - PullRequest
0 голосов
/ 27 апреля 2019

Каждый раз, когда пользователь отправляет данные, я получаю их во вложенном массиве данных 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 Ответ

1 голос
/ 27 апреля 2019

Вы можете получить массивы как массив массивов с помощью 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)
...