IS_VALID_JSON function
Note
CAN_JSON_PARSE and its associated functions parse JSON values as SUPER, which Amazon Redshift parses more efficiently than VARCHAR.
Instead of using IS_VALID_JSON, we recommend that you validate your JSON strings using the CAN_JSON_PARSE function.
The IS_VALID_JSON function validates a JSON string. The function returns Boolean
true
if the string is properly formed JSON or
false
if the string is malformed. To validate a JSON
array, use IS_VALID_JSON_ARRAY function
For more information, see JSON functions.
Syntax
IS_VALID_JSON('json_string')
Arguments
- json_string
-
A string or expression that evaluates to a JSON string.
Return type
BOOLEAN
Examples
To create a table and insert JSON strings for testing, use the following example.
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]');
To validate the strings in the preceding example, use the following example.
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 | +----+---------------------+---------------+