JSON 배열을 Go 구조로 비정렬화할 수 없습니다
JSON API의 데이터를 구문 분석하려고 시도하는 동안 프로그래머가 다음 오류에 직면했습니다. 패닉: json: 배열을 Go 값 유형으로 역마샬링할 수 없습니다. main.Structure."
문제 발췌:
type Structure struct { stuff []interface{} } ... decoded := &Structure{} err = json.Unmarshal(body, decoded)
예상 결과:
인터페이스 개체 목록입니다.
실제 결과:
패닉: json: 배열을 main.Structure 유형의 Go 값으로 역마샬링할 수 없습니다
해결책:
다음과 같은 경우에 문제가 발생합니다. JSON 배열을 Go 구조체로 역마샬링하려고 합니다. 이 문제를 해결하려면 다음 중 하나를 수행할 수 있습니다.
var data []interface{} err = json.Unmarshal(body, &data)
type Tick struct { ID string Name string ... and so on } var data []Tick err = json.Unmarshal(body, &data)
응답 데이터의 구조와 일치하도록 구조체 유형을 사용자 정의하면 역마샬링 프로세스가 JSON 배열을 성공적으로 구문 분석합니다.
위 내용은 배열을 Go 구조체에 매핑할 때 JSON 역마샬링이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!