to_json function

Applies to: check marked yes Databricks SQL check marked yes Databricks Runtime

Returns a JSON string with the STRUCT or VARIANT specified in expr.

Syntax

to_json(expr [, options] )

Arguments

  • expr: A STRUCT expression, or a VARIANT in Databricks SQL and Databricks Runtime 15.3 and later.
  • options: An optional MAP literal expression with keys and values being STRING. If expr is a VARIANT, the options are ignored.

Returns

A STRING.

See from_json function for details on possible options.

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}