JSON в JavaScript

JSON是存储和传输数据的格式。

JSON常在数据从服务器发送到网页时使用。

什么是JSON?

  • JSON指的是 JavaScript Object Nnotation
  • JSON является легковесным форматом обмена данными
  • JSON независим от языка *
  • JSON является "самоопределяющимся" и легким для понимания

* Синтаксис JSON основан на синтаксисе символов объекта JavaScript, но формат JSON является чистым текстом. Код для чтения и генерации JSON-данных может быть написан на любом языке программирования.

Пример JSON

Синтаксис JSON определяет объект сотрудника: массив (объект) с тремя записями сотрудников:

Пример JSON

{
"employees":[
    {"firstName":"Bill", "lastName":"Gates"}, 
    {"firstName":"Steve", "lastName":"Jobs"},
    {"firstName":"Alan", "lastName":"Turing"}
]
}

Формат JSON оценивается как объект JavaScript

Формат JSON аналогичен коду создания объектов JavaScript по синтаксису.

Благодаря этой схожести, программы JavaScript могут легко преобразовывать JSON-данные в локальные объекты JavaScript.

Правила синтаксиса JSON

  • Данные представляют собой пары имя/значение
  • Данные разделены запятыми
  • Фигурные скобки сохраняют объекты
  • Квадратные скобки сохраняют массивы

JSON данные - имена и значения

JSON записывается в виде пар имя/значение, подобно свойствам объекта JavaScript.

Пара имя/значение состоит из (в двойных кавычках) имени поля, за которым следует двоеточие, за которым следует значение:

"firstName":"Bill"

Имена в JSON необходимо заключать в двойные кавычки. В JavaScript имена не требуют кавычек.

Объект JSON

JSON-объекты записываются в фигурных скобках.

Как и JavaScript, объекты могут содержать несколько пар имя/значение:

{"firstName":"Bill", "lastName":"Gates"}

Массив JSON

JSON-массивы записываются в квадратных скобках.

Как и JavaScript, массив может содержать объекты:

"employees":[
    {"firstName":"Bill", "lastName":"Gates"}, 
    {"firstName":"Steve", "lastName":"Jobs"}, 
    {"firstName":"Alan", "lastName":"Turing"}
]

В примере выше объект "employees" является массивом. Он содержит три объекта.

Каждый объект代表着一个人的记录(с именем и фамилией).

Преобразование JSON-текста в объект JavaScript

Обычное использование JSON - это чтение данных с веб-сервера и их отображение на веб-странице.

Для упрощения можно использовать строку в качестве ввода демонстрации.

Сначала создайте строку JavaScript с синтаксисом JSON:

var text = '{ "employees" : [
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"Steve" , "lastName":"Jobs" },' +
'{ "firstName":"Alan" , "lastName":"Turing" } ]}';

Затем, используя встроенную функцию JavaScript JSON.parse(), преобразуйте эту строку в объект JavaScript:

var obj = JSON.parse(text);

В конце концов, используйте этот новый объект JavaScript на вашей странице:

Пример

<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script> 

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

Вы можете попробовать на нашем Уроки JSON Чтение о JSON