diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2025-03-11 15:13:27 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2025-03-11 15:28:00 +0300 |
commit | 9747e89e70b4ff34b096026074faeee7ffbf826c (patch) | |
tree | 261ca46b106939b56523bf070708c8b63bc90934 /yql/essentials | |
parent | a524c2bc110ac3ca4cf6547f1f5e41ce28391ebb (diff) | |
download | ydb-9747e89e70b4ff34b096026074faeee7ffbf826c.tar.gz |
Intermediate changes
commit_hash:f9c607cfb7288d7efc85c99df6b9318b7b7a08ba
Diffstat (limited to 'yql/essentials')
-rw-r--r-- | yql/essentials/docs/ru/types/json.md | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/yql/essentials/docs/ru/types/json.md b/yql/essentials/docs/ru/types/json.md index d13c56004c..a257773ab7 100644 --- a/yql/essentials/docs/ru/types/json.md +++ b/yql/essentials/docs/ru/types/json.md @@ -1,19 +1,19 @@ # Передача параметров и данных в формате JSON -YQL позволяет задавать параметры используя DECLARE выражение. Сами параметры передаются с помощью restricted JSON формата. -Ниже дано описание формата передачи различных типов данных. -Этот формат также используется для ответов из API. +YQL позволяет задавать параметры с помощью [DECLARE](../syntax/declare.md) выражений. Сами параметры передаются в restricted JSON формате. -## Числовые типы +Ниже дано описание формата передачи различных типов данных. Этот формат также используется для ответов из API. -### Bool {#bool} +## Bool {#bool} Логическое значение. * Тип в JSON — `bool`. * Пример значения JSON — `true`. +## Числовые типы + ### Int, Uint, Float, Double, Decimal {#numbers} * Тип в JSON — `string`. @@ -28,8 +28,8 @@ YQL позволяет задавать параметры используя DE * при наличии невалидных utf-8 символов, например, `\xFF`, строка кодируется в base64 и оборачивается в массив с одним элементом * если нет специальных символов, то передается как есть -* Тип в JSON - `string` или `array` -* Пример значения JSON - `"AB"`, `["qw6="]` (для строки `\xAB\xAC`) +* Тип в JSON — `string` или `array` +* Пример значения JSON — `"AB"`, `["qw6="]` (для строки `\xAB\xAC`) ### Utf8 {#utf} @@ -43,12 +43,12 @@ YQL позволяет задавать параметры используя DE Универсальный идентификатор UUID. * бинарный формат UUID кодируется с помощью base64 и оборачивается в лист -* Тип в JSON - `array` -* Пример значения JSON - `["AIQOVZvi1EGnFkRmVUQAAA=="]` для `550e8400-e29b-41d4-a716-446655440000` +* Тип в JSON — `array` +* Пример значения JSON — `["AIQOVZvi1EGnFkRmVUQAAA=="]` для `550e8400-e29b-41d4-a716-446655440000` ### Yson {#yson} -* Тип в JSON - `object`. +* Тип в JSON — `object`. * YSON более богатый язык, чем JSON, поэтому есть необходимость предоставлять дополнительные атрибуты, поэтому задаются поля `$value`, `$type`, `$attributes`. * Строки, числа и логические значения заменяются на объект с двумя ключами: `$value` и `$type`. Типы могут быть: `boolean`, `int64`, `uint64`, `double`, `string`. * Каждый байт бинарной строки переводится в юникодный символ с соответствующим номером и кодируется в UTF-8 (такой же механизм использует YT при преобразовании Yson в Json). @@ -87,35 +87,35 @@ YQL позволяет задавать параметры используя DE ### Json {#json} -* Тип в JSON - `object`. -* Пример значения JSON - `{ "a" : 12.5, "c" : 25 }`. +* Тип в JSON — `object`. +* Пример значения JSON — `{ "a" : 12.5, "c" : 25 }`. ## Дата и время ### Date {#date} -Дата, внутреннее представление - Uint16, количество дней c unix epoch. +Дата, внутреннее представление — Uint16, количество дней c unix epoch. * Тип в JSON — `string`. * Пример значения JSON — `"19509"` для даты `2023-06-01`. ### Datetime {#datetime} -Дата и время, внутреннее представление - Uint32, количество секунд c unix epoch. +Дата и время, внутреннее представление — Uint32, количество секунд c unix epoch. * Тип в JSON — `string`. * Пример значения JSON — `"1686966302"`для даты `"2023-06-17T01:45:02Z"`. ### Timestamp {#timestamp} -Дата и время, внутреннее представление - Uint64, количество микросекунд c unix epoch. +Дата и время, внутреннее представление — Uint64, количество микросекунд c unix epoch. * Тип в JSON — `string`. * Пример значения JSON — `"1685577600000000"` для `2023-06-01T00:00:00.000000Z`. ### Interval {#interval} -Временной интервал, внутреннее представление - Int64, точность до микросекунд. +Временной интервал, внутреннее представление — Int64, точность до микросекунд. * Тип в JSON — `string`. * Пример значения JSON — `"12345678910"`. @@ -124,9 +124,9 @@ YQL позволяет задавать параметры используя DE Временные типы с меткой временной зоны. -* Тип в JSON - `string`. +* Тип в JSON — `string`. * Значение представляется как строковое представление времени и временная зона через запятую. -* Пример значения JSON - `"2023-06-29,Europe/Moscow"`, `""2023-06-29T17:14:11,Europe/Moscow""`, `""2023-06-29T17:15:36.645735,Europe/Moscow""` для TzDate, TzDateTime и TzTimestamp соответственно. +* Пример значения JSON — `"2023-06-29,Europe/Moscow"`, `""2023-06-29T17:14:11,Europe/Moscow""`, `""2023-06-29T17:15:36.645735,Europe/Moscow""` для TzDate, TzDateTime и TzTimestamp соответственно. ## Контейнеры @@ -166,31 +166,32 @@ YQL позволяет задавать параметры используя DE Перечисление. -* Тип в JSON - `string`. -* Пример значения JSON - `"b"` для `Enum<a,b>`. +* Тип в JSON — `string`. +* Пример значения JSON — `"b"` для `Enum<a,b>`. -## Variant {#variant} +### Variant {#variant} Кортеж или структура, про которые известно, что заполнен ровно один элемент. -* Тип в JSON - `array`. -* Первый способ передачи - массив из поля структуры, обернутый в массив, и значения. Способ подходит только для варианта над структурами. -* Второй способ передачи - массив из индекса поля структуры/кортежа и само значение. -* Пример значения JSON - `[["foo"], false]`, `[["bar"], "6"]` или `["0", false]`, `["1", "6"]` для `Variant<foo: Int32, bar: Bool>`. - -## Специальные типы +* Тип в JSON — `array`. +* Первый способ передачи — массив из поля структуры, обернутый в массив, и значения. Способ подходит только для варианта над структурами. +* Второй способ передачи — массив из индекса поля структуры/кортежа и само значение. +* Пример значения JSON — `[["foo"], false]`, `[["bar"], "6"]` или `["0", false]`, `["1", "6"]` для `Variant<foo: Int32, bar: Bool>`. -## Optional {#optional} +### Optional {#optional} Означает, что значение может быть `null`. * Тип в JSON — `array` или `null`. * Значения обертываются в массив, `null` значение представляется пустым массивом или `null`. -* Пример значения JSON - `[["1"], ["2"], ["3"], []]` или `[["1"], ["2"], ["3"], null]` для `List<Optional<Int32>>`. +* Пример значения JSON — `[["1"], ["2"], ["3"], []]` или `[["1"], ["2"], ["3"], null]` для `List<Optional<Int32>>`. + -## Void {#void} +## Специальные типы + +### Void {#void} Сингулярный тип данных с единственным возможным значением `null`. -* Тип в JSON - `string`. -* Значение JSON - `"Void"`. +* Тип в JSON — `string`. +* Значение JSON — `"Void"`. |