本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 | +----+---------------------+---------------+