parse_json
関数
適用対象: 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 }.