Массивы в JSON почти то же самое, что массивы в JavaScript.
В JSON элементами массива могут быть строки, числа, объекты, массивы, boolean или null.
В JavaScript элементами массива кроме перечисленных также могут быть другие допустимые выражения JavaScript, включая функции, даты и undefined.
Пример:
[ "Ford", "BMW", "Fiat" ]
Массивы в объектах JSON
Массивы могут быть значениями свойств объектов:
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
Доступ к значениям массива
Получить доступ к значению элемента массива можно при помощи номера его индекса:
x = myObj.cars[0];
Обход элементов массива
Последовательно обойти все элементы массива можно при помощи цикла for-in:
for (i in myObj.cars) {
x += myObj.cars[i];
}
Или при помощи цикла for:
for (i = 0; i < myObj.cars.length; i++) {
x += myObj.cars[i];
}
Вложенные массивы в объектах JSON
Значениями массива также могут быть другие массивы или даже другие объекты JSON:
myObj = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
Чтобы получить доступ к массивам внутри других массивов, используйте цикл for-in для каждого массива:
for (i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name + "</h1>";
for (j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
Изменение значений массива
Чтобы изменить значение элемента массива, используется его номер индекса:
myObj.cars[1] = "Mercedes";
Удаление элемента массива
Чтобы удалить элемент из массива, используется ключевое слово delete:
delete myObj.cars[1];