Funktionen try_parse_json
Gäller för: Databricks SQL
Databricks Runtime 15.3 och senare
Returnerar ett VARIANT
värde från jsonStr
om möjligt, eller NULL
om det inte är möjligt.
Syntax
try_parse_json ( jsonStr )
Argument
jsonStr
: EttSTRING
uttryck som anger ett JSON-dokument.
Returer
Ett VARIANT
värde som representerar motsvarande data som JSON-strängen jsonStr
.
Om det uppstår ett fel vid parsning av JSON-strängen blir NULL
resultatet .
Om du vill returnera ett fel i stället för NULL
använder du funktionen parse_json .
Kommentar
Funktionen to_json konverterar ett VARIANT
värde till en STRING value
, så det är logiskt invertering av parse_json
.
Det är dock inte en exakt invertering, så to_json(try_parse_json(jsonStr)) = jsonStr
det kanske inte är sant.
Tomt utrymme är inte perfekt bevarat
{ “a” : 1, “b” : 2 }
motsvarar{“a”:1,“b”:2}
Ordningen på nycklar kan vara godtycklig
{“a” : 1, “b”: 2}
motsvarar{“b”: 2, “a” : 1}
Avslutande nollor i tal
{“a” : 0.01000}
motsvarar{“a” : 0.01}
Exempel
-- 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