IS_VALID_JSON 函数
注意
CAN_JSON_PARSE 及其关联函数将 JSON 值解析为 SUPER,Amazon Redshift 解析 SUPER 的效率比 VARCHAR 更高。
我们建议您使用 CAN_JSON_PARSE 函数验证您的 JSON 字符串,而不是使用 IS_VALID_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 | +----+---------------------+---------------+