Skip to content

Merge arrays: Can't merge maps inside array #204

Open
@anveshcsgi

Description

@anveshcsgi

eg: Merge with WithOverride

package main

import (
	"fmt"

	"github.com/imdario/mergo"
)

type Foo map[string]interface{}

func main() {

	src := Foo{
		"partners": []map[string]interface{}{
			{

				"common":  "common_field",
				"enabled": true,
			},
			{
				"name":    "new_src_element",
				"enabled": false,
			},
		},
	}
	dest := Foo{
		"partners": []map[string]interface{}{
			{
				"common":  "common_field",
				"enabled": false,
			},
			{
				"name":    "new_dest_element",
				"enabled": false,
			},
		},
	}
	mergo.Merge(&dest, src, mergo.WithOverride)
	fmt.Println(dest)
}

got Output
map[partners:[map[common:common_field enabled:true] map[enabled:false name:new_src_element]]]

Expected Output

map[partners:[map[common:common_field enabled:true] map[enabled:false name:new_dest_element] map[enabled:false name:new_src_element]]]

Upvote & Fund

  • We're using Polar.sh so you can upvote and help fund this issue.
  • We receive the funding once the issue is completed & confirmed by you.
  • Thank you in advance for helping prioritize & fund our backlog.
Fund with Polar

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions