- add utils.TryUnmarshalUseNumber
- remove utils.HTTPResponse2Json
This commit is contained in:
@@ -4,8 +4,6 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"strconv"
|
||||
@@ -33,15 +31,19 @@ func GetConcretValue(value reflect.Value) reflect.Value {
|
||||
}
|
||||
|
||||
func UnmarshalUseNumber(data []byte, result interface{}) error {
|
||||
d := json.NewDecoder(bytes.NewReader(data))
|
||||
d.UseNumber()
|
||||
err := d.Decode(result)
|
||||
err := TryUnmarshalUseNumber(data, result)
|
||||
if err != nil {
|
||||
baseapi.SugarLogger.Infof("decode data:%v, error:%v", string(data), err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func TryUnmarshalUseNumber(data []byte, result interface{}) error {
|
||||
d := json.NewDecoder(bytes.NewReader(data))
|
||||
d.UseNumber()
|
||||
return d.Decode(result)
|
||||
}
|
||||
|
||||
// 这个函数将解析json,返回的map中的字段类型与structObj中的完全一样的
|
||||
func Unmarshal2Map(data []byte, structObj interface{}) (resultMap map[string]interface{}, err error) {
|
||||
if err = json.Unmarshal(data, structObj); err == nil {
|
||||
@@ -287,20 +289,6 @@ func IsTimeZero(timeValue time.Time) bool {
|
||||
return timeValue == DefaultTimeValue || timeValue == ZeroTimeValue
|
||||
}
|
||||
|
||||
func HTTPResponse2Json(response *http.Response) (map[string]interface{}, error) {
|
||||
var jsonResult map[string]interface{}
|
||||
bodyData, err := ioutil.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
// baseapi.SugarLogger.Errorf("ioutil.ReadAll error:%v, response:%v", err, response)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err = UnmarshalUseNumber(bodyData, &jsonResult); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return jsonResult, nil
|
||||
}
|
||||
|
||||
func HTTPBody2Values(data []byte, needDecode bool) (url.Values, error) {
|
||||
bodyStr := string(data)
|
||||
if needDecode {
|
||||
|
||||
Reference in New Issue
Block a user