ЧтениеJson
Стд::Json::ЧтениеJson Базовые типы: Объект |
Иерархия типа
Объект, предназначенный для потокового чтения данных в формате JSON.
Методы чтения значений выбрасывают ИсключениеЧтенияJson - в следующих случаях:
- не было начато чтение (не был вызван метод Следующий
- чтение JSON завершилось (метод Следующий вернул
Ложь
)
Сравнение ссылочное
Конструкторы
ЧтениеJson
ЧтениеJson(Источник: Строка)
Перегрузка: ЧтениеJson(Источник: ПотокЧтения, Кодировка: Строка = “UTF-8”) |
Конструктор чтения JSON из строки Источник
.
ЧтениеJson
ЧтениеJson(
Источник: ПотокЧтения,
Кодировка: Строка = "UTF-8")
Перегрузка: ЧтениеJson(Источник: Строка) |
Конструктор чтения JSON из потока Источник
в кодировке Кодировка
.
Свойства
ВидУзла
ТолькоЧтение ВидУзла: ВидУзлаJson? |
Вид текущего узла JSON.
Undefined
, если:
- Не было начато чтение (не был вызван метод Следующий.
- Чтение 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. При этом свойству ВидУзла присваивается значение, соответствующие прочитанным данным. Возвращает признак, что был следующий элемент.