wangchuanjin %!s(int64=3) %!d(string=hai) anos
pai
achega
79084ff2be
Modificáronse 1 ficheiros con 12 adicións e 3 borrados
  1. 12 3
      common/common.go

+ 12 - 3
common/common.go

@@ -672,16 +672,25 @@ func RetainDecimal(v float64, n int) float64 {
 
 //序列化成想要的类型,再断言
 func JsonUnmarshal(m interface{}, s interface{}) interface{} {
+	JsonUnmarshalByErr(m, s)
+	return s
+}
+
+//序列化成想要的类型,再断言
+func JsonUnmarshalByErr(m interface{}, s interface{}) (interface{}, error) {
 	var b []byte
+	var err error
 	if v, ok := m.(string); ok {
 		b = []byte(v)
 	} else if v, ok := m.([]byte); ok {
 		b = v
 	} else {
-		b, _ = json.Marshal(m)
+		b, err = json.Marshal(m)
 	}
-	json.Unmarshal(b, &s)
-	return s
+	if err == nil {
+		err = json.Unmarshal(b, &s)
+	}
+	return s, err
 }
 
 func MapToJson(param map[string]interface{}) string {