Compartilhar via


Função try_parse_json

Aplica-se a: marca de seleção positiva Databricks SQL verificação marcada como sim Databricks Runtime 15.3 e posterior

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

Sintaxe

try_parse_json ( jsonStr )

Argumentos

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

Devoluções

Um valor de VARIANT que representa os dados equivalentes como uma cadeia de caracteres JSON jsonStr. Se ocorrer um erro ao analisar a cadeia de caracteres JSON, o resultado será NULL.

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

Observações

A função to_json converte um valor de VARIANT em uma STRING value e, portanto, é logicamente o inverso de parse_json. No entanto, não é um inverso exato e, portanto, to_json(try_parse_json(jsonStr)) = jsonStr pode não ser true.

  • O espaço em branco não é perfeitamente preservado

    { “a” : 1, “b” : 2 } equivale a {“a”:1,“b”:2}

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

    {“a” : 1, “b”: 2} equivale 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