IS_VALID_JSON_ARRAY 函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

IS_VALID_JSON_ARRAY 函數

注意

JSON_PARSE 及其相關聯的函數會將值剖析為 SUPER,Amazon Redshift 會比 更有效率地剖析這些JSON值VARCHAR。

建議您使用 剖析JSON字串JSON_PARSE 函數以取得SUPER值ARRAY,而不是使用 ISVALID__JSON_。然後,使用 IS_ARRAY 函數函數來確認陣列已正確形成。

IS_VALID_JSON_ARRAY 函數會驗證JSON陣列。true 如果陣列正確形成JSON或陣列格式不正確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 | +------------------------------+---------------------+