JSON - Объекты

Объекты JSON определяются внутри фигурных скобок { }.

Объекты JSON записываются в виде пар "ключ/значение".

Ключи должны быть строками, а значения — допустимых в JSON типов данных (строка, число, объект, массив, boolean или null).

Ключи и значения разделяются двоеточием.

Каждая пара "ключ/значение" разделяется запятой.

Пример:


{ "name":"John", "age":30, "car":null }

Доступ к значениям объекта

Доступ к значениям объекта можно получить при помощи записи с точкой (.):


myObj = { "name":"John", "age":30, "car":null };
x = myObj.name;

Также доступ к значениям объекта можно получить при помощи записи с квадратными скобками [ ]:


myObj = { "name":"John", "age":30, "car":null };
x = myObj["name"];

Обход свойств объекта

Чтобы обойти все свойства объекта, необходимо использовать цикл for-in:


myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += x;
}

Чтобы внутри цикла for-in получить доступ к значениям свойств, используется запись с квадратными скобками:


myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += myObj[x];
}

Вложенные объекты JSON

Значением свойств объекта JSON может быть другой объект JSON.


myObj = {
    "name":"John",
    "age":30,
    "cars": {
        "car1":"Ford",
        "car2":"BMW",
        "car3":"Fiat"
    }
 }

Получить доступ к вложенным объектам JSON можно при помощи записи с точкой или с квадратными скобками:


x = myObj.cars.car2;
// или
x = myObj.cars["car2"];

Изменение значений

Чтобы изменить любое значение объекта JSON, можно использовать запись с точкой:


myObj.cars.car2 = "Mercedes";

Также, для изменения значения объекта JSON, можно использовать запись с квадратными скобками:


myObj.cars["car2"] = "Mercedes";

Удаление свойств объекта

Чтобы удалить свойство из объекта JSON, используется ключевое слово delete:


delete myObj.cars.car2;