Рубрики
Без рубрики

Введение в 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 поддерживает некоторые базовые типы данных:

  • Число : любое число, не заключенное в кавычки
  • Строка : любой набор символов, заключенный в кавычки
  • Логическое значение : истина или ложный
  • Массив : список значений, заключенный в квадратные скобки
  • Объект : набор пар ключ-значение, заключенный в фигурные скобки
  • нулевой : слово null , представляющее пустое значение

Любой другой тип данных должен быть сериализован в строку (а затем десериализован), чтобы быть сохраненным в 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() может также принимать необязательный второй аргумент, называемый функцией reviver. Вы можете использовать это для подключения к синтаксическому анализу и выполнения любой пользовательской операции:

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 допустимой.

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

Схема JSON

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

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

Оригинал: “https://flaviocopes.com/json/”