次の方法で共有


try_parse_json 関数

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

可能な場合は jsonStr から VARIANT 値を返し、可能でない場合は NULL を返します。

構文

try_parse_json ( jsonStr )

引数

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

返品

jsonStr JSON 文字列と同等のデータを表す VARIANT 値。 JSON 文字列の解析中にエラーが発生した場合、結果は NULL

NULL ではなくエラーを返すには、parse_json 関数を使用します。

メモ

to_json 関数では、VARIANT 値が STRING value に変換されるため、論理的には parse_json の逆です。 ただし、"正確には" 逆ではないため、to_json(try_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 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