IS_VALID_JSON 함수
참고
CAN_JSON_PARSE 및 관련 함수는 JSON 값을 SUPER로 구문 분석하는데, Amazon Redshift는 VARCHAR보다 더 효율적으로 구문 분석합니다.
IS_VALID_JSON을 사용하는 대신 CAN_JSON_PARSE 함수를 사용하여 JSON 문자열을 검증하는 것이 좋습니다.
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 | +----+---------------------+---------------+