aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-03-11 15:13:27 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-03-11 15:28:00 +0300
commit9747e89e70b4ff34b096026074faeee7ffbf826c (patch)
tree261ca46b106939b56523bf070708c8b63bc90934 /yql/essentials
parenta524c2bc110ac3ca4cf6547f1f5e41ce28391ebb (diff)
downloadydb-9747e89e70b4ff34b096026074faeee7ffbf826c.tar.gz
Intermediate changes
commit_hash:f9c607cfb7288d7efc85c99df6b9318b7b7a08ba
Diffstat (limited to 'yql/essentials')
-rw-r--r--yql/essentials/docs/ru/types/json.md65
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"`.