daShangDao_getErpSendPublis.../utils/map_util.go
2026-06-15 16:18:50 +08:00

48 lines
938 B
Go

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
}