Fonction parse_json

S’applique à :coché oui Databricks SQL coché oui Databricks Runtime 15.3 et versions ultérieures

Retourne une valeur VARIANT à partir de jsonStr.

Syntaxe

parse_json ( jsonStr )

Les arguments

  • jsonStr : une expression STRING spécifiant un document JSON.

Retours

Une valeur VARIANT qui représente les données équivalentes en tant que chaîne JSON jsonStr.

Si la chaîne JSON n’est pas valide, Azure Databricks déclenche MALFORMED_RECORD_IN_PARSING. Pour retourner NULL au lieu d’une erreur, utilisez la fonction try_parse_json.

Conditions d’erreur courantes

Remarques

La fonction to_json convertit une valeur VARIANT en un STRING value, de sorte qu’elle est logiquement l’inverse de parse_json. Toutefois, elle n’est pas l’inverse exact. Par conséquent, il est possible que to_json(parse_json(jsonStr)) = jsonStr ne soit pas vrai.

  • L’espace blanc n’est pas parfaitement conservé

    { “a” : 1, “b” : 2 } équivaut à {“a”:1,“b”:2}

  • L’ordre des clés peut être arbitraire

    {“a” : 1, “b”: 2} équivaut à {“b”: 2, “a” : 1}

  • Zéros de fin dans les nombres

    {“a” : 0.01000} équivaut à {“a” : 0.01}

Exemples

-- 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 }');
  Error: MALFORMED_RECORD_IN_PARSING