IS_VALID_JSON_ARRAY 函數 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

IS_VALID_JSON_ARRAY 函數

注意

JSON_PARSE 及其相關聯的函式會將 JSON 值剖析為 SUPER,Amazon Redshift 會剖析這類值的效率比剖析 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 | +------------------------------+---------------------+