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