DBAtlas · 데이터베이스 운영 아틀라스

3140: ER_INVALID_JSON_TEXT: Invalid JSON text

MySQL

의미

유효하지 않은(구문이 깨진) JSON 텍스트가 JSON 컬럼이나 JSON 함수에 전달되었다. MySQL은 값을 JSON으로 파싱할 수 없어 작업을 거부한다.

원인

닫히지 않은 따옴표/괄호, 후행 쉼표, 작은따옴표, 이스케이프 문자 오류, 또는 JSON 컬럼에 일반 텍스트를 보낸 경우다. JSON_SET, JSON_INSERT 같은 함수나 JSON 타입 컬럼에 잘못된 형식의 텍스트를 전달할 때 나타난다.

해결 방법

JSON 텍스트를 올바른 구문으로 수정한다: 큰따옴표를 사용하고, 후행 쉼표를 제거하고, 이스케이프를 확인한다. 텍스트 유효성 테스트: SELECT JSON_VALID('{...}'); (유효하면 1 반환). 애플리케이션 계층에서 신뢰할 수 있는 라이브러리로 JSON을 직렬화하고 서버로 보내기 전에 검증한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목