来自json响应的结构

I have a json response with dynamic keys and i'm having some difficulties unmarshalling it to a stuct. Could someone assist with the structs?

{
    "accountDetails": {
        "123": {
            "userDetails": {
                "login": 123
            }
        },
        "456": {
            "userDetails": {
                "login": 456
            }
        }
    }
}

Currently my structs are:

type Response struct {
    AccountDetails AccountDetails `json:"accountDetails"`
}

type AccountDetails struct {
    Accounts map[string]UserDetails
}

type UserDetails struct {
    Account Account `json:"userDetails"`
}

type Account struct {
   Login int `json:"login"`
}
var data = []byte(`{
    "accountDetails": {
        "123": {
            "userDetails": {
                "login": 123
            }
        },
        "456": {
            "userDetails": {
                "login": 456
            }
        }
    }
}`)

type Response struct {
    AccDetails map[string]AccountDetails `json:"accountDetails"`
}

type AccountDetails struct {
    UserDetails struct {
        Login int `json:"login"`
    } `json:"userDetails"`
}

func main() {
    var resp Response
    if err := json.Unmarshal(data, &resp); err != nil {
        fmt.Fprintf(os.Stderr, "json err: %v", err)
        os.Exit(1)
    }
    fmt.Printf("%T
", resp.AccDetails)
    for user, userDet := range resp.AccDetails {
        fmt.Println(user, userDet.UserDetails.Login)
    }
}