mapstructure
mapstructure copied to clipboard
Slice or Map not decoded
If a field is a slice of structs they are not decoded, instead it stays a slice of that type.
Same goes for maps.
Hm yes, this is intended and I think would be a breaking change to change the default. By decoding to a map[string]interface{}
you are saying that the value interface{}
is anything that can be assigned to it. mapstructure realizes that it can decode directly onto there, which I think is arguably correct.
I'd be open to an enhancement that introduces a new option to "prefer maps" basically in this scenario.
#314 looks like a perfect fix for this and much wanted :)
Given that this project is being officially forked to https://github.com/go-viper/mapstructure (see https://github.com/mitchellh/mapstructure/issues/349) I'd suggest that this issue (and associated PR) be opened against that project now.