Литералы JSON


Оглавление

    Показать оглавление


Это строка JSON:

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

Внутри строки JSON находится литерал объекта JSON:

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

Литералы объектов JSON заключаются в фигурные скобки {}.

Литералы объектов JSON содержат пары ключ/значение.

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

Ключи должны быть строками, и значения должны быть допустимым типом данных JSON:

  • строка
  • номер
  • объект
  • массив
  • логическое значение
  • ноль

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

Распространенной ошибкой является называть литерал объекта JSON «объектом JSON».

JSON не может быть объектом. JSON — это строковый формат.

Данные представляют собой JSON только в строковом формате. Когда он преобразуется в переменную JavaScript, он становится объектом JavaScript.


Объекты JavaScript

Вы можете создать объект JavaScript из литерала объекта JSON:

Пример

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

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Creating an Object from a JSON Literal</h2>
<p id="demo"></p>

<script>
const myObj = {"name":"John", "age":30, "car":null};
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

Обычно объект JavaScript создается путем анализа строки JSON:

Пример

myJSON = '{"name":"John", "age":30, "car":null}';
myObj = JSON.parse(myJSON);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Creating an Object Parsing JSON</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

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

Вы можете получить доступ к значениям объекта, используя запись через точку (.):

Пример

const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
  x = myObj.name;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Access a JavaScript Object</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

Вы также можете получить доступ к значениям объекта, используя скобочную запись ([]):

Пример

const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
  x = myObj["name"];

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Access a JavaScript Object</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj["name"];
</script>

</body>
</html>


Зацикливание объекта

Вы можете перебирать свойства объекта с помощью цикла for-in:

Пример

const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += x + ", ";
}

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Looping Object Properties</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += x + ", ";
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

В цикле for-in используйте скобки для доступа к свойству values:

Пример

const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += myObj[x] + ", ";
}

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>Looping JavaScript Object Values</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);

let text = "";
for (const x in myObj) {
  text += myObj[x] + ", ";
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>