Compartilhar via


Função 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 VARIANT do jsonStr.

Sintaxe

parse_json ( jsonStr )

Argumentos

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

Devoluções

Um valor VARIANT que representa os dados equivalentes como a cadeia de caracteres JSON jsonStr.

Se a cadeia de caracteres JSON não for válida, o resultado será um erro. Para retornar NULL em vez de um erro, use a função try_parse_json.

Observações

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

  • 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 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 }.