1234567891011121314151617181920212223242526272829303132 |
- package mapping
- import "fmt"
- // ConvertAnyMap converts a map[any]any to a map[string]any
- // please make sure i is a map[any]any
- func ConvertAnyMap(i any) any {
- switch v := i.(type) {
- case map[any]any:
- m2 := make(map[string]any)
- for k, val := range v {
- keyStr := fmt.Sprintf("%v", k)
- m2[keyStr] = ConvertAnyMap(val)
- }
- return m2
- case map[string]any:
- m2 := make(map[string]any)
- for k, val := range v {
- m2[k] = ConvertAnyMap(val)
- }
- return m2
- case []any:
- m2 := make([]any, len(v))
- for i, val := range v {
- m2[i] = ConvertAnyMap(val)
- }
- return m2
- default:
- return v
- }
- }
|