package utils import ( "encoding/json" "strconv" ) // MapUtils Map工具类 type MapUtils struct{} var Map = &MapUtils{} // ConvertToObject Map转对象 func (m *MapUtils) ConvertToObject(data map[string]interface{}, obj interface{}) error { jsonData, err := json.Marshal(data) if err != nil { return err } return json.Unmarshal(jsonData, obj) } // GetString 从map获取字符串 func (m *MapUtils) GetString(data map[string]interface{}, key string) string { if val, ok := data[key]; ok && val != nil { return val.(string) } return "" } // GetInt64 从map获取int64 func (m *MapUtils) GetInt64(data map[string]interface{}, key string) int64 { if val, ok := data[key]; ok && val != nil { switch v := val.(type) { case string: if i, err := strconv.ParseInt(v, 10, 64); err == nil { return i } case float64: return int64(v) case int: return int64(v) case int64: return v } } return 0 }