From a3dfe85920fd33a344b8bc8a484396c3eb637d86 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Fri, 24 May 2019 18:58:35 +0200 Subject: [PATCH] Setter index support added --- gabs.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gabs.go b/gabs.go index 011c4c3..5cc8422 100644 --- a/gabs.go +++ b/gabs.go @@ -263,6 +263,18 @@ func (g *Container) Set(value interface{}, path ...string) (*Container, error) { mmap[path[target]] = map[string]interface{}{} } object = mmap[path[target]] + } else if mslice, ok := object.([]interface{}); ok { + index, err := strconv.Atoi(path[target]) + if err == nil { + if target == len(path)-1 { + mslice[index] = value + } else if mslice[index] == nil { + mslice[index] = []interface{}{} + } + object = mslice[index] + } else { + return &Container{nil}, errors.New("Index not valid") + } } else { return &Container{nil}, ErrPathCollision } -- 2.18.0.windows.1