mapstructure icon indicating copy to clipboard operation
mapstructure copied to clipboard

Decoding Struct to Map with Embedded pointer to Struct

Open dima-koniaiev-solid opened this issue 1 year ago • 0 comments

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
}

dima-koniaiev-solid avatar Mar 26 '24 16:03 dima-koniaiev-solid