Введение в JSON

JSON - отличный формат для хранения данных, широко используемый в JavaScript, но не только - узнайте об этом все!

JSON - это формат файла, который используется для хранения и обмена данными.

Данные хранятся в наборе пар ключ-значение.

Эти данные удобочитаемы, что делает JSON идеальным для редактирования вручную.

Вот пример строки JSON:

{
  "name": "Flavio",
  "age": 35
}

Из этого небольшого фрагмента вы можете видеть, что ключи заключены в двойные кавычки, двоеточие разделяет ключ и значение, а значение может быть разных типов.

Наборы ключей и значений разделяются запятыми.

Интервал (пробелы, табуляции, новые строки) не имеет значения в файле JSON. Вышеупомянутое эквивалентно

{"name": "Flavio","age": 35}

или же

{"name":
"Flavio","age":
35}

но, как всегда, лучше разбираться в хорошо отформатированных данных.

JSON родился в 2002 году и стал чрезвычайно популярным благодаря простоте использования и гибкости, и, хотя он родился из мира JavaScript, он быстро распространился на другие языки программирования.

Это определено вСтандарт ECMA-404.

Строки JSON обычно хранятся в.jsonфайлы и передаются по сети сapplication/jsonТип MIME.

Типы данных

JSON поддерживает несколько основных типов данных:

  • Number: любое число, не заключенное в кавычки
  • String: любой набор символов, заключенный в кавычки
  • Boolean:trueили жеfalse
  • Array: список значений, заключенный в квадратные скобки
  • Object: набор пар "ключ-значение", заключенных в фигурные скобки.
  • null: thenullслово, которое представляет собой пустое значение

Любой другой тип данных должен быть сериализован в строку (а затем десериализован) для хранения в JSON.

Кодирование и декодирование JSON в JavaScript

ECMAScript 5 в 2009 году представилJSONобъект в стандарте JavaScript, который, среди прочего, предлагаетJSON.parse()иJSON.stringify()методы.

Прежде чем его можно будет использовать в программе JavaScript, JSON в строковом формате должен быть проанализирован и преобразован в данные, которые может использовать JavaScript.

JSON.parse()принимает строку JSON в качестве параметра и возвращает объект, содержащий проанализированный JSON:

JSON.stringify()принимает объект JavaScript в качестве параметра и возвращает строку, представляющую его в JSON:

JSON.parse()can также принимает необязательный второй аргумент, называемый функцией оживления. Вы можете использовать это, чтобы подключиться к синтаксическому анализу и выполнить любую настраиваемую операцию:

JSON.parse(string, (key, value) => {
  if (key === 'name') {
    return `Name: ${value}`
  } else {
    return value
  }
})

Вложение объектов

Вы можете организовать данные в файле JSON, используя вложенный объект:

{
  "name": {
    "firstName": "Flavio",
    "lastName": "Copes"
  },
  "age": 35,
  "dogs": [
    { "name": "Roger" },
    { "name": "Syd" }
  ],
  "country": {
    "details": {
      "name": "Italy"
    }
  }
}

Онлайн-инструменты для работы с JSON

Вы можете использовать множество полезных инструментов.

Один из них являетсяJSONLint, валидатор JSON. С его помощью вы можете проверить, действительна ли строка JSON.

JSONFormatter- хороший инструмент для форматирования строки JSON, чтобы она была более читаемой в соответствии с вашими соглашениями.

Схема JSON

Хотя JSON с самого начала очень гибок, бывают моменты, когда вам требуется немного более жесткая организация, чтобы все оставалось на месте.

Это когдаСхема JSONвступает в игру. Это способ аннотировать и проверять документы JSON в соответствии с определенным форматом, который вы создаете.

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: