try_parse_json 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 15.3 及更高版本

如果可能,则从 jsonStr 返回 VARIANT 值;如果不可能,则返回 NULL

语法

try_parse_json ( jsonStr )

参数

  • jsonStr:一个指定 JSON 文档的 STRING 表达式。

返回

一个将等效数据表示为 VARIANT JSON 字符串的 jsonStr 值。 如果在分析 JSON 字符串时出错,则结果为 NULL

若要返回错误而不是 NULL,请使用 parse_json 函数。

备注

to_json 函数将 VARIANT 值转换为 STRING value,因此它在逻辑上是 parse_json 的反函数。 但是,它不是精确的反函数,因此 to_json(try_parse_json(jsonStr)) = jsonStr 可能不为 true

  • 空白字符不会完美保留

    { "a" : 1, "b" : 2 } 等效于 {"a":1,"b":2}

  • 键的排序可以是任意的

    {"a" : 1, "b": 2} 等效于 {"b": 2, "a" : 1}

  • 数字中的尾随零

    {"a" : 0.01000} 等效于 {"a" : 0.01}

示例

-- Simple example
> SELECT try_parse_json('{"key": 123, "data": [4, 5, "str"]}');
  {"data":[4,5,"str"],"key":123}

-- Parsing a scalar value
> SELECT try_parse_json('123');
  123

-- invalid JSON string
> SELECT try_parse_json('{ bad }');
  NULL