>  기사  >  백엔드 개발  >  pgtype.Int4range로 json 범위를 읽을 수 없습니다.

pgtype.Int4range로 json 범위를 읽을 수 없습니다.

WBOY
WBOY앞으로
2024-02-10 09:00:09378검색

无法将 json 范围读取为 pgtype.Int4range

php 편집기 Baicao는 PHP 및 PostgreSQL 데이터베이스를 사용할 때 "json 범위를 pgtype.Int4range로 읽을 수 없습니다"라는 오류 메시지가 나타날 수 있습니다. 이 오류는 일반적으로 JSON 데이터 유형을 pgtype.Int4range 데이터 유형으로 변환하려고 할 때 발생합니다. 이 문제에 대한 해결책은 복잡하지 않습니다. JSON 데이터를 문자열로 변환한 다음 데이터 유형 변환을 수행하기만 하면 됩니다. 다음으로 이 문제를 해결하는 방법을 자세히 설명하겠습니다.

질문 내용

json으로 범위를 읽으려고 하는데 json.unmarshal을 수행하는 데 문제가 있습니다.

테스트 코드입니다-

으아악

오류-

으아악

pgtype.int4range로 읽을 수 있나요? 이 유형은 데이터베이스 전용인 것 같은데요? fwiw, 저는 pgx github.com/jackc/pgx/v4

해결 방법

을 사용하고 있습니다. "[20,30)" 不是结构 pgtype.int4range에 유효한 json 값이 있고 pgtype.int4rangejson.unmarshaler 인터페이스를 구현하지 않기 때문에 작동하지 않습니다. 아직.

비정렬화하려면 인터페이스를 직접 구현해야 합니다. "[20,30)":

으아악

그런데

으아악

두 가지 유형을 비교하면 다음과 같이 수정되어야 합니다.

으아악

전체 데모 보기: https://www.php.cn/link/fbf6e9ffad68f73e466198206987dedc一个>.

위 내용은 pgtype.Int4range로 json 범위를 읽을 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제