diff --git a/viper.go b/viper.go index 122280b..575f2f2 100644 --- a/viper.go +++ b/viper.go @@ -28,6 +28,7 @@ import ( "os" "path/filepath" "reflect" + "sort" "strconv" "strings" "sync" @@ -2138,6 +2139,7 @@ func (v *Viper) AllSettings() map[string]any { func (v *Viper) getSettings(keys []string) map[string]any { m := map[string]any{} + sort.Strings(keys) // start from the list of keys, and construct the map one value at a time for _, k := range keys { value := v.Get(k)