Создать массив из JSON — Javascript

#javascript #arrays #json

#javascript #массивы #json

Вопрос:

У меня есть файл JSON, из которого я хотел бы создать массив.

Вот данные в формате JSON.

 {
  "table": {
    "columnNames": ["column1", "column2", "column3", "column4"],
    "columnTypes": ["String", "String", "String", "String"],
    "rows": [
      ["data00", "data01", "data02", "data03"],
      ["data10", "data11", "data12", "data13"],
      ["data20", "data21", "data22", "data23"],
      ["data30", "data31", "data32", "data33"]
     ]
   }
}
  

Мне нужно создать массив из объектов в разделе «строки».

Будем признательны за любую помощь!

Спасибо!!!

Редактировать

Возможно ли создать хэш-таблицу из данных в строках? Кроме того, как бы вы выполнили JSON.parse в файле json? Спасибо

Ответ №1:

Вы имеете в виду, что хотите получить единый массив, содержащий все значения?

 var rows = [];

for (var i = 0; i < data.table.rows.length; i  ) {
    rows.push.apply(rows, data.table.rows[i]);
}
  

Смотрите документы MDN для push и apply .

Это предполагает, что вы сохранили данные из вашего вопроса в переменной data . Если он у вас есть только в виде строки JSON, вам нужно преобразовать его с помощью JSON.parse .

Комментарии:

1. Возможно ли было бы создать многомерный массив со строками, а затем отдельными данными в каждой строке?

2. Это уже многомерный массив, просто используйте data.table.rows , чтобы захватить его

Ответ №2:

JSON по сути уже является javascript, поэтому, как только вы декодируете строку JSON обратно в собственную структуру данных JS, тогда это будет простым делом:

 var rowsarray = decoded_json.table.rows;