IS_VALID_JSON 函數 - Amazon Redshift

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

IS_VALID_JSON 函數

注意

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

建議您使用 驗證JSON字串JSON,而不是使用 IS_VALID_CAN_JSON_PARSE 函數

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