本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IS_VALID_JSON 函數
注意
CAN_JSON_PARSE 及其相關聯的函數會將 JSON 值剖析為 SUPER,Amazon Redshift 會比 VARCHAR 更有效率地剖析 JSON 值。
建議您使用 驗證 JSON 字串,而不是使用 IS_VALID_JSONCAN_JSON_PARSE 函數。
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 | +----+---------------------+---------------+