Link Search Menu Expand Document

ЧтениеJson

Стд::Json::ЧтениеJson
Базовые типы: Объект

Иерархия типа

ЧтениеJson
Объект

Объект, предназначенный для потокового чтения данных в формате JSON.

Методы чтения значений выбрасывают ИсключениеЧтенияJson - в следующих случаях:

  • не было начато чтение (не был вызван метод Следующий
  • чтение JSON завершилось (метод Следующий вернул Ложь)

Сравнение ссылочное


Конструкторы

ЧтениеJson

ЧтениеJson(Источник: Строка)
Перегрузка:
ЧтениеJson(Источник: ПотокЧтения, Кодировка: Строка = “UTF-8”)

Конструктор чтения JSON из строки Источник.


ЧтениеJson

ЧтениеJson(
  Источник: ПотокЧтения,
  Кодировка: Строка = "UTF-8")
Перегрузка:
ЧтениеJson(Источник: Строка)

Конструктор чтения JSON из потока Источник в кодировке Кодировка.


Свойства

ВидУзла

ТолькоЧтение ВидУзла: ВидУзлаJson?

Вид текущего узла JSON.

Undefined, если:

  1. Не было начато чтение (не был вызван метод Следующий.
  2. Чтение JSON завершилось (метод Следующий вернул Ложь).

Значение

ТолькоЧтение Значение: Строка

Текстовое значение текущего узла JSON. Для комментариев содержит пустую строку. До начала и после окончания текста JSON возвращает пустую строку.


ТекущаяСтрока

ТолькоЧтение ТекущаяСтрока: Число

Текущая строка в позиции чтения. Нумерация начинается с 1.

При чтении следующих видов значений, позиция чтения находится сразу после прочтенного значения:

  • Null,
  • Булево,
  • Число,
  • НачалоМассива,
  • КонецМассив,
  • НачалоОбъекта,
  • КонецОбъекта.

При чтении значения вида Строка, позиция находится сразу после открывающей кавычки

При чтении значения вида ИмяСвойства, позиция находится на том же месте, что будет при чтении значения после имени свойства. Т.е. при чтении имени свойства в паре "value": false, когда дойдет очередь до "value", позиция будет сразу после false.


ТекущийСтолбец

ТолькоЧтение ТекущийСтолбец: Число

Текущий столбец в позиции чтения. Нумерация начинается с 1.


Методы

ПрочитатьСодержимоеКакБайты

ПрочитатьСодержимоеКакБайты(): Байты

Возвращает содержимое узла JSON, если это строка в формате Base64 и декодирует ее в байты. После вызова метода, позиция чтения не изменяется.


ПрочитатьСодержимоеКакБулево

ПрочитатьСодержимоеКакБулево(): Булево

Возвращает содержимое узла JSON, если он является логическим значением.


ПрочитатьСодержимоеКакВремя

ПрочитатьСодержимоеКакВремя(ИгнорироватьДату: Булево = Ложь): Время

Возвращает содержимое узла JSON, если это строка содержащая время, указанное в формате строковое представление hh:mm:ss или в представлении без часового пояса в формате:

ISO (ISO) и некоторых дополнительных:

  • YYYY[-,/,.]MM[-,/,.]DD([ ,T]hh:mm(:ss(.SSS)))
  • DD[-,/,.]MM[-,/,.]YYYY([ ,T]hh:mm(:ss(.SSS)))

Например:

  • "0001-01-01 22:01",
  • "0001-01-01 22:01:34.500",
  • "01.01.0001 22:01",
  • "01/01/0001 22:01.500".

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

Например:

  • "2003-09-24 22:01",
  • "2003-09-24 22:01:34.500",
  • "24.09.2003 22:01",
  • "24/09/2003 22:01.500".

После вызова метода, позиция чтения не изменяется.


ПрочитатьСодержимоеКакДата

ПрочитатьСодержимоеКакДата(ИгнорироватьВремя: Булево = Ложь): Дата

Возвращает содержимое узла JSON, если это строка содержащая дату, указанную в формате строковое представление: yyyy.mm.dd или в представлении без часового пояса в формате:

ISO (ISO) и некоторых дополнительных:

  • YYYY[-,/,.]MM[-,/,.]DD([ ,T]hh:mm(:ss(.SSS)))
  • DD[-,/,.]MM[-,/,.]YYYY([ ,T]hh:mm(:ss(.SSS)))

Например:

  • "2003-09-24 00:00",
  • "2003-09-24 00:00:00.000",
  • "24.09.2003 00:00",
  • "24/09/2003 00:00.000".

Параметр ИгнорироватьВремя позволяет читать строки содержащие ненулевое время.

Например:

  • "2003-09-24 22:01",
  • "2003-09-24 22:01:34.500",
  • "24.09.2003 22:01",
  • "24/09/2003 22:01.500".

После вызова метода, позиция чтения не изменяется.


ПрочитатьСодержимоеКакДатаВремя

ПрочитатьСодержимоеКакДатаВремя(): ДатаВремя

Возвращает содержимое узла JSON, если это строка содержащая дата-время, указанное в представлении без часового пояса в формате:

ISO (ISO) и некоторых дополнительных:

  • YYYY[-,/,.]MM[-,/,.]DD([ ,T]hh:mm(:ss(.SSS)))
  • DD[-,/,.]MM[-,/,.]YYYY([ ,T]hh:mm(:ss(.SSS)))

Например:

  • "2003-09-24 22:01",
  • "2003-09-24 22:01:34.500",
  • "24.09.2003 22:01",
  • "24/09/2003 22:01.500".

Если часовой пояс не указан, то время интерпретируется как местное.


ПрочитатьСодержимоеКакДлительность

ПрочитатьСодержимоеКакДлительность(): Длительность

Возвращает содержимое узла JSON, если это строка содержащая длительность, указанную в формате ISO) После вызова метода, позиция чтения не изменяется.


ПрочитатьСодержимоеКакМомент

ПрочитатьСодержимоеКакМомент(): Момент

Возвращает содержимое узла JSON, если это строковое представление момента с часовым поясом, указанный в одном из форматов:

  • ISO (ISO):
    • YYYY[-,/,.]MM[-,/,.]DD([ ,T]hh:mm(:ss(.SSS)))[ ,]±h(h)(:mm),
    • DD[-,/,.]MM[-,/,.]YYYY([ ,T]hh:mm(:ss(.SSS)))[ ,]±h(h)(:mm).

Например:

  • “24.09.2003 22:01:34 +4”,
  • “24.09.2003 22:01:34 +04”,
  • “24.09.2003 22:01 +04:30”,
  • “24.09.2003 22:01 03:00”,
  • “24.09.2003+4”,
  • “24.09.2003 +04”,
  • “24/09/2003 Z”,
  • “2003-09-24 22:01:34+3”,
  • “2003-09-24 22:01:34-4:30”,
  • “2003-09-24 22:01:34Z”.

Обязательно наличие в формате часового пояса, иначе будет выброшено ИсключениеЧтенияJson.

  • Microsoft (Microsoft) Формат даты Microsoft вида:

    • /Date(1530144000000)/
    • /Date(1530144000000+hhmm)/

    Этот же вариант в формате JSON с экранированием будет выглядеть следующим образом: “\u002FDate(1530144000000+hhmm)\u002F”. Дата указывается в формате Unix-времени. JSON поддерживает опциональное экранирование символа “/”, поэтому для чтения допускаются оба варианта. Поскольку время указывается в формате UNIX, то информация о часовом поясе будет игнорироваться (не игнорировалось бы, если бы конструировался тип аналогичный типу Java - ZonedDateTime).

  • JavaScript (JavaScript)

    Указывается количество миллисекунд, прошедших с начала эры Unix (Unix Epoch) - полночь 1 января 1970 UTC.

Первый вызов пытается прочитать в каждом из форматов.


ПрочитатьСодержимоеКакСтроку

ПрочитатьСодержимоеКакСтроку(): Строка

Возвращает содержимое узла JSON, если это строка.


ПрочитатьСодержимоеКакУуид

ПрочитатьСодержимоеКакУуид(): Ууид

Возвращает содержимое узла JSON, если это строка содержащая содержащее представление uuid. После вызова метода, позиция чтения не изменяется.


ПрочитатьСодержимоеКакЧисло

ПрочитатьСодержимоеКакЧисло(): Число

Возвращает содержимое узла JSON, если это числовое значение.


Следующий

Следующий(): Булево

Считывает очередной узел JSON. При этом свойству ВидУзла присваивается значение, соответствующие прочитанным данным. Возвращает признак, что был следующий элемент.


Список унаследованных методов

Объект