JSON - Массивы

Массивы в 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];