Типы данных JSON

В JSON значение может быть одним из шести типов данных:

  • cтрока;
  • число;
  • логический;
  • null;
  • объект;
  • массив.

Эти типы данных описаны ниже.

Примитивные типы

Тип данных Описание
Строка Любая последовательность символов Юникода, вставленная между двойных кавычек. Некоторым символам может потребоваться экранирование (см. ниже).
Число Десятичное значение без лишнего начального нуля; может содержать цифры от 0 до 9. Число может быть отрицательным (-10), дробью (.5), а также может быть степенью 10 с префиксом e, E, + или -.
Логический Может быть true или false.
Null Пустой.

Структурные типы

Тип данных Описание
Объект Объект JSON — это неупорядоченный набор пар имя/значение, вставленных между фигурных скобок. Объект может содержать ноль или несколько пар имя/значение, в таком случае они разделяются запятыми.
Массив Массив JSON — это упорядоченный набор значений, который позволяет хранить список значений. Массив начинается с левой квадратной скобки [ и завершается правой квадратной скобкой ]. Его значения разделяются запятой.

Экранирование символов

При работе со строками некоторые символы необходимо экранировать с помощью обратной косой черты \. Например, чтобы использовать двойную кавычку внутри строки, вам нужно её экранировать. В противном случае любое приложение при чтении данных будет думать, что ваша двойная кавычка помечает конец строки и обрежет строку. Это в итоге прервёт импорт данных, поскольку приложение пытается интерпретировать оставшуюся часть строки.

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

Символ Название юникода и его код Как экранировать
" Quotation mark (U+0022 ) \"
\ Reverse solidus (U+005C ) \\
/ Solidus (U+002F ) \/
 Backspace (U+0008 ) \b
Form feed (U+000C ) \f
Line feed (U+000A ) \n
Carriage return (U+000D ) \r
Horizontal tab (U+0009 ) \t

Вы также можете использовать шестнадцатеричный эквивалент для экранирования символа, например, \u002f или \u002F для представления символа косой черты.

Автор и редакторы

Автор: Йен Диксон
Последнее изменение: 11.10.2019
Редакторы: Влад Мержевич