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 중국어 웹사이트의 기타 관련 기사를 참조하세요!