IS_VALID_JSON 函数 - Amazon Redshift

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