Dela via


Funktionen try_parse_json

Gäller för: markerad ja Databricks SQL markerad ja 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: Ett STRING 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 NULLresultatet .

Om du vill returnera ett fel i stället för NULLanvä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