struct2map.go 414 B

1234567891011121314151617181920212223242526272829
  1. package parser
  2. import (
  3. "github.com/mitchellh/mapstructure"
  4. )
  5. func StructToMap(data any) map[string]any {
  6. result := make(map[string]any)
  7. decoder := &mapstructure.DecoderConfig{
  8. Metadata: nil,
  9. Result: &result,
  10. TagName: "json",
  11. Squash: true,
  12. }
  13. d, err := mapstructure.NewDecoder(decoder)
  14. if err != nil {
  15. return nil
  16. }
  17. err = d.Decode(data)
  18. if err != nil {
  19. return nil
  20. }
  21. return result
  22. }