>백엔드 개발 >Golang >'Int64 유형의 Go 값으로 문자열을 비정렬화할 수 없습니다' JSON 구문 분석 오류를 해결하는 방법은 무엇입니까?

'Int64 유형의 Go 값으로 문자열을 비정렬화할 수 없습니다' JSON 구문 분석 오류를 해결하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 14:56:08448검색

How to Resolve

JSON 구문 분석 오류: "Int64 유형의 Go 값으로 문자열을 역마샬링할 수 없습니다."

문제:
int64에 할당된 문자열 값을 사용하여 JSON 데이터를 역정렬화하려고 할 때 필드에서 소스 문자열과 예상 정수 값 사이의 유형 불일치로 인해 역마샬링 프로세스가 실패합니다.

문제 세부 정보:
사용자 정의 Go 구조체는 JSON 구조체를 사용하여 int64 필드를 정의합니다. 태그를 사용하여 JSON 속성에 매핑합니다. 그러나 jQuery 스크립트는 JSON 개체를 수정하고 이를 정수가 아닌 문자열로 인코딩합니다. 이로 인해 예상되는 int64 값 대신 문자열이 전송됩니다.

해결책:
이 유형 변환 문제를 처리하려면 관련 필드에 ",string" 태그를 추가하세요. . 업데이트된 구조체 태그는 다음과 같습니다.

type tySurvey struct {
   Id   int64  `json:"id,string,omitempty"`
   Name string `json:"name,omitempty"`
}

JSON 구조체 태그에 ",string"을 지정하면 역마샬링 프로세스에서 필드 값이 문자열일 수 있음을 인식하고 이를 문자열로 변환하려고 시도합니다. int64 필드에 할당하기 전에 정수입니다.

추가 참고 사항:
문자열 값이 빈 문자열인 경우 생략 옵션은 인코딩 중에만 사용되므로 디코딩할 수 없다는 점에 유의하세요.

위 내용은 'Int64 유형의 Go 값으로 문자열을 비정렬화할 수 없습니다' JSON 구문 분석 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.