适用于:
Databricks SQL
Databricks Runtime 15.3 及更高版本
从 VARIANT 返回一个 jsonStr 值。
语法
parse_json ( jsonStr )
参数
-
jsonStr:一个指定 JSON 文档的STRING表达式。
返回
一个将等效数据表示为 VARIANT JSON 字符串的 jsonStr 值。
如果 JSON 字符串无效,则结果为错误。
若要返回 NULL 而不是错误,请使用 try_parse_json 函数。
备注
to_json函数将值VARIANT转换为 a STRING value值,因此在逻辑上是反函数parse_json。
但是,它不是精确的反函数,因此 可能不为 trueto_json(parse_json(jsonStr)) = jsonStr。
空白字符不会完美保留
{ “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 }.