Udostępnij za pośrednictwem


Funkcja try_parse_json

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 15.3 i nowsze

VARIANT Zwraca wartość z jsonStr , jeśli to możliwe, lub NULL jeśli nie jest to możliwe.

Składnia

try_parse_json ( jsonStr )

Argumenty

  • jsonStrSTRING: wyrażenie określające dokument JSON.

Zwraca

VARIANT Wartość reprezentująca równoważne dane jako jsonStr ciąg JSON. Jeśli wystąpił błąd podczas analizowania ciągu JSON, wynik to NULL.

Aby zwrócić błąd zamiast NULL, użyj funkcji parse_json .

Uwagi

Funkcja to_json konwertuje VARIANT wartość na STRING valuewartość , więc jest logicznie odwrotna niż parse_json . Jednak nie jest to dokładna odwrotność, więc to_json(try_parse_json(jsonStr)) = jsonStr może nie być prawdziwa.

  • Biały znak nie jest całkowicie zachowany

    { “a” : 1, “b” : 2 } jest odpowiednikiem {“a”:1,“b”:2}

  • Kolejność kluczy może być dowolna

    {“a” : 1, “b”: 2} jest odpowiednikiem {“b”: 2, “a” : 1}

  • Końcowe zera w liczbach

    {“a” : 0.01000} jest odpowiednikiem {“a” : 0.01}

Przykłady

-- 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