Go 언어를 사용하여 JSON 역직렬화(Unmarshal)를 수행하는 동안 때때로 처리할 수 없는 오류 필드가 발생할 수 있습니다. 이러한 오류 필드로 인해 프로그램이 종료되어 코드의 정상적인 실행에 영향을 줄 수 있습니다. 그렇다면 Unmarshal 프로세스 중에 이러한 오류 필드를 건너뛸 수 있는 방법이 있습니까? 대답은 '예'입니다. 이 기사에서는 Go 언어의 일부 기술을 사용하여 Unmarshal 중에 발생하는 오류 필드를 건너뛰는 방법을 소개합니다.
바이트 배열을 구조체로 변환하기 위해 json.Unmarshal(body, outputStruct)
를 사용하고 있습니다. 언마샬링 중에 오류가 발생할 수 있습니다.
예를 들어 구조는 다음과 같습니다.
으아악정수 대신 부동 소수점 값으로 quantity
를 전달하면 오류가 발생합니다. 유효한 필드만 역마샬링하고 오류가 있는 필드를 건너뛰는 방법을 알고 싶습니다.
따라서 json을 비정렬화하면:
으아악구조에서 price
값을 가져오고 싶지만 수량은 초기 기본값으로 둡니다.
할 수 없습니다.
JSON에 부동 소수점이 포함된 경우 이를 정수로 역마샬링할 수 없습니다. 당신은:
"-"
) Quantity
를 무시하고 2단계 역정렬화를 수행합니다. 2가 "가장 좋은" 방법이지만 "잘못된 유형의 필드 건너뛰기" 뒤에 숨은 논리가 무엇인지 잘 모르겠습니다. 수량이 2.5라면 수량의 가치는 어떻게 될까요? 0? 왜?
위 내용은 Go에서 'Unmarshal' 중에 오류 필드를 건너뛰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!