Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Decoding Struct to Map with Embedded pointer to Struct #353

Open
@dima-koniaiev-solid

Description

@dima-koniaiev-solid

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
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions