注記
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 |
+----+---------------------+---------------+