Типы данных 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
Редакторы: Влад Мержевич
Как научиться разрабатывать сайты