to_json
function
Applies to: Databricks SQL Databricks Runtime
Returns a JSON string with the STRUCT
or VARIANT
specified in expr
.
Arguments
expr
: ASTRUCT
expression, or aVARIANT
in Databricks SQL and Databricks Runtime 15.3 and later.options
: An optionalMAP
literal expression with keys and values beingSTRING
. Ifexpr
is aVARIANT
, the options are ignored.
Examples
> SELECT to_json(named_struct('a', 1, 'b', 2));
{"a":1,"b":2}
> SELECT to_json(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));
{"time":"26/08/2015"}
> SELECT to_json(array(named_struct('a', 1, 'b', 2)));
[{"a":1,"b":2}]
> SELECT to_json(map('a', named_struct('b', 1)));
{"a":{"b":1}}
> SELECT to_json(map(named_struct('a', 1),named_struct('b', 2)));
{"[1]":{"b":2}}
> SELECT to_json(map('a', 1));
{"a":1}
> SELECT to_json(array((map('a', 1))));
[{"a":1}]
-- VARIANT input
> SELECT to_json(parse_json('{"key": 123, "data": [4, 5, "str"]}'))
{"data":[4,5,"str"],"key":123}