Decoding Struct to Map with Embedded pointer to Struct
Author: dima-koniaiev-solidCreated Mar 26, 2024Updated Mar 26, 2024
Hey, everyone! I still can reproduce the problem with decoding the embedded pointer from this issue. Here is the code to reproduce the problem:
Expected result: map[B:map[Name:]]
Actual result: map[B:0x14000132000]
package main
import (
"github.com/mitchellh/mapstructure"
"log"
)
func main() {
testMap := make(map[string]interface{})
a := A{&B{}}
err := mapstructure.Decode(a, &testMap)
if err != nil {
panic(err)
}
log.Println(testMap)
}
type A struct {
B *B
}
type B struct {
Name string
}If you update this B struct to the following one everything works as expected:
type B struct {
Test string `mapstructure:",omitempty"`
Name string
}Source: mitchellh/mapstructure