Перейти к основному содержимому

to_json

Преобразует значение Map или Struct в JSON-строку. Если входное значение равно NULL, возвращается NULL.

подсказка

Все JSON-функции и операторы перечислены в навигации и на странице обзора

Ускорьте ваши запросы с помощью generated columns

Если вы хотите привести значения других типов данных, см. cast.

Эта функция поддерживается начиная с версии 1.5.0.

Синтаксис

to_json(any_value)

Параметры

any_value: выражение Map или Struct, которое вы хотите преобразовать. Если входное значение недопустимо, возвращается ошибка. Значение в каждой паре ключ-значение Map или Struct может быть nullable. См. последний пример.

Возвращаемое значение

Возвращает JSON-значение.

Примеры

select to_json(map{1:'a',2:'b'});
+---------------------------+
| to_json(map{1:'a',2:'b'}) |
+---------------------------+
| {"1": "a", "2": "b"} |
+---------------------------+

select to_json(row('asia','eu'));
+--------------------------------+
| to_json(row('asia', 'eu')) |
+--------------------------------+
| {"col1": "asia", "col2": "eu"} |
+--------------------------------+

select to_json(map('a', named_struct('b', 1)));
+----------------------------------------+
| to_json(map{'a':named_struct('b', 1)}) |
+----------------------------------------+
| {"a": {"b": 1}} |
+----------------------------------------+

select to_json(named_struct("k1", cast(null as string), "k2", "v2"));
+-----------------------------------------------------------------------+
| to_json(named_struct('k1', CAST(NULL AS VARCHAR(65533)), 'k2', 'v2')) |
+-----------------------------------------------------------------------+
| {"k1": null, "k2": "v2"} |
+-----------------------------------------------------------------------+

См. также