parse_json 関数

適用対象: check marked yes Databricks SQL Databricks Runtime 15.3 以上

jsonStr から VARIANT 値を返します。

構文

parse_json ( jsonStr )

引数

  • jsonStr: JSON ドキュメントを指定する STRING 式。

返品

jsonStr JSON 文字列と同等のデータを表す VARIANT 値。

JSON 文字列が無効な場合、結果はエラーになります。 エラーではなく NULL を返すようにするには、try_parse_json 関数を使用します。

メモ

to_json 関数では、VARIANT 値が STRING value に変換されるため、論理的には parse_json の逆です。 ただし、"正確には" 逆ではないため、to_json(parse_json(jsonStr)) = jsonStr は正しくない可能性があります。

  • 空白文字は完全には保持されない

    { “a” : 1, “b” : 2 }{“a”:1,“b”:2} と同じです。

  • キーの順序は任意にすることができる

    {“a” : 1, “b”: 2}{“b”: 2, “a” : 1} と同じです。

  • 数値の末尾のゼロ

    {“a” : 0.01000}{“a” : 0.01} と等価です

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