package util import "github.com/tidwall/gjson" func Walk(value gjson.Result, path, field string, paths *[]string) { switch value.Type { case gjson.JSON: value.ForEach(func(key, val gjson.Result) bool { var childPath string if path == "" { childPath = key.String() } else { childPath = path + "." + key.String() } if key.String() == field { *paths = append(*paths, childPath) } Walk(val, childPath, field, paths) return true }) case gjson.String, gjson.Number, gjson.True, gjson.False, gjson.Null: } }