parse_json 函数

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

jsonStr 返回一个 VARIANT 值。

语法

parse_json ( jsonStr )

参数

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

返回

一个将等效数据表示为 jsonStr JSON 字符串的 VARIANT 值。

如果 JSON 字符串无效,则结果为错误。 若要返回 NULL 而不是错误,请使用 try_parse_json 函数。

备注

to_json 函数将 VARIANT 值转换为 STRING value,因此它在逻辑上是 parse_json 的反函数。 但是,它不是精确的反函数,因此 to_json(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 parse_json('{"key": 123, "data": [4, 5, "str"]}');
  {"data":[4,5,"str"],"key":123}

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

-- invalid JSON string
> SELECT parse_json('{ bad }');
  [MALFORMED_RECORD_IN_PARSING.WITHOUT_SUGGESTION] Malformed records are detected in record parsing: { bad }.