IS_VALID_JSON 関数
注記
CAN_JSON_PARSE および関連する関数は、JSON 値を SUPER として解析します。Amazon Redshift は、VARCHAR よりも SUPER をより効率的に解析します。
IS_VALID_JSON を使用する代わりに、CAN_JSON_PARSE 関数 を使用して JSON 文字列を検証することをお勧めします。
IS_VALID_JSON 関数は、JSON 文字列を確認します。この関数は、文字列が正しい JSON 形式になっている場合、true
のブール値を返し、正しい形式ではない場合は、false
を返します。JSON 配列を検証するには、IS_VALID_JSON_ARRAY 関数を使用します。
詳細については、「JSON 関数」を参照してください。
構文
IS_VALID_JSON('json_string')
引数
- json_string
-
評価して JSON 文字列を返す文字列または式。
戻り型
BOOLEAN
例
テーブルを作成し、テスト用の JSON 文字列を挿入するには、次の例を使用します。
CREATE TABLE test_json(id int IDENTITY(0,1), json_strings VARCHAR); -- Insert valid JSON strings -- INSERT INTO test_json(json_strings) VALUES ('{"a":2}'), ('{"a":{"b":{"c":1}}}'), ('{"a": [1,2,"b"]}'); -- Insert invalid JSON strings -- INSERT INTO test_json(json_strings) VALUES ('{{}}'), ('{1:"a"}'), ('[1,2,3]');
前の例の文字列を検証するには、次の例を使用します。
SELECT id, json_strings, IS_VALID_JSON(json_strings) FROM test_json ORDER BY id;
+----+---------------------+---------------+ | id | json_strings | is_valid_json | +----+---------------------+---------------+ | 0 | {"a":2} | true | | 4 | {"a":{"b":{"c":1}}} | true | | 8 | {"a": [1,2,"b"]} | true | | 12 | {{}} | false | | 16 | {1:"a"} | false | | 20 | [1,2,3] | false | +----+---------------------+---------------+