인터페이스 변환 오류: 잘못된 매핑
인터페이스를 맵으로 변환하려고 할 때 JSON 구문 분석 중에 오류가 발생하여 메시지가 나타납니다. "인터페이스 변환: 인터페이스 {}는 map[string]인터페이스가 아니라 []인터페이스 {}입니다. {}."
설명
오류는 데이터 유형 간의 불일치를 가리킵니다. 제공된 코드 조각에서 다음 줄은 유기적 결과 목록에서 결과를 추출합니다.
result := fmt.Sprintf("%v", response["organic_results"].(map[string]interface{})["title"])
response["organic_results"]가 맵이고 해당 값이 map[string으로 캐스팅되어야 한다고 가정합니다. ]인터페이스{}를 사용하여 특정 제목 값에 액세스합니다. 그러나 response["organic_results"]의 실제 데이터 유형은 맵이 아닌 인터페이스 조각([]interface{})입니다.
해결책
오류를 해결하려면 그에 따라 코드를 수정해야 합니다.
for _, item := range response["organic_results"].([]interface{}) { fmt.Sprintf("%v", item.(map[string]interface{})["title"]) }
여기서 루프는 각 항목을 반복합니다. []인터페이스{} 슬라이스의 항목이며, 각 항목은 제목 값을 추출하기 위해 map[string]인터페이스{}로 캐스팅됩니다.
위 내용은 인터페이스를 맵으로 변환할 때 \"인터페이스 변환: 인터페이스 {}는 지도[문자열]인터페이스 {}가 아니라 []인터페이스 {}입니다\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!