Partilhar via


Função try_parse_json

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 15.3 e posterior

Retorna um VARIANT valor do jsonStr se possível, ou NULL se não for possível.

Sintaxe

try_parse_json ( jsonStr )

Argumentos

  • jsonStr: Uma STRING expressão que especifica um documento JSON.

Devoluções

Um VARIANT valor que representa os dados equivalentes como a jsonStr cadeia de caracteres JSON. Se houver um erro na análise da cadeia de caracteres JSON, o resultado será NULL.

Para retornar um erro em vez de NULL, use a função parse_json .

Notas

A função to_json converte um VARIANT valor em um STRING value, por isso é logicamente o inverso de parse_json. No entanto, não é um inverso exato , então to_json(try_parse_json(jsonStr)) = jsonStr pode não ser verdade.

  • O espaço em branco não está perfeitamente preservado

    { “a” : 1, “b” : 2 } é equivalente a {“a”:1,“b”:2}

  • A ordenação de chaves pode ser arbitrária

    {“a” : 1, “b”: 2} é equivalente a {“b”: 2, “a” : 1}

  • Zeros à direita em números

    {“a” : 0.01000} é equivalente a {“a” : 0.01}

Exemplos

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