Funktionen parse_json
Gäller för: Databricks SQL Databricks Runtime 15.3 och senare
Returnerar ett VARIANT
värde från jsonStr
.
Syntax
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 JSON-strängen inte är giltig är resultatet ett fel.
Om du vill returnera NULL
i stället för ett fel använder du funktionen try_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(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 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 }.