#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;