IS_VALID_JSON_ARRAY 函数 - Amazon Redshift

IS_VALID_JSON_ARRAY 函数

注意

JSON_PARSE 及其关联函数将 JSON 值解析为 SUPER,Amazon Redshift 解析 SUPER 的效率比 VARCHAR 更高。

我们建议您使用 JSON_PARSE 函数解析 JSON 字符串来获取 SUPER 值,而不是使用 IS_VALID_JSON_ARRAY。然后,使用 IS_ARRAY 函数来确认数组的格式是否正确。

IS_VALID_JSON_ARRAY 函数用于验证 JSON 数组。如果数组是格式正确的 JSON 数组,则该函数返回布尔值 true;如果数组格式不正确,函数将返回 false。要验证 JSON 字符串,请使用 IS_VALID_JSON 函数

有关更多信息,请参阅 JSON 函数

语法

IS_VALID_JSON_ARRAY('json_array')

参数

json_array

计算结果为 JSON 数组的字符串或表达式。

返回类型

BOOLEAN

示例

要创建一个表并插入 JSON 字符串进行测试,请使用以下示例。

CREATE TABLE test_json_arrays(id int IDENTITY(0,1), json_arrays VARCHAR); -- Insert valid JSON array strings -- INSERT INTO test_json_arrays(json_arrays) VALUES('[]'), ('["a","b"]'), ('["a",["b",1,["c",2,3,null]]]'); -- Insert invalid JSON array strings -- INSERT INTO test_json_arrays(json_arrays) VALUES('{"a":1}'), ('a'), ('[1,2,]');

要验证前面示例中的字符串,请使用下面的示例。

SELECT json_arrays, IS_VALID_JSON_ARRAY(json_arrays) FROM test_json_arrays ORDER BY id; +------------------------------+---------------------+ | json_arrays | is_valid_json_array | +------------------------------+---------------------+ | [] | true | | ["a","b"] | true | | ["a",["b",1,["c",2,3,null]]] | true | | {"a":1} | false | | a | false | | [1,2,] | false | +------------------------------+---------------------+