31 lines
716 B
Go
31 lines
716 B
Go
package conn
|
||
|
||
import (
|
||
"bytes"
|
||
"encoding/json"
|
||
"encoding/xml"
|
||
"net/http"
|
||
)
|
||
|
||
// parsers.go 主要包含了一些通用的格式转换、解析操作
|
||
|
||
// ScanXml 按xml格式解析resp的payload(Body)
|
||
func ScanXml(resp *http.Response, v interface{}) error {
|
||
return xml.NewDecoder(resp.Body).Decode(v)
|
||
}
|
||
|
||
// ScanJson 按json格式解析resp的payload(Body)
|
||
func ScanJson(resp *http.Response, v interface{}) error {
|
||
return json.NewDecoder(resp.Body).Decode(v)
|
||
}
|
||
|
||
// ToJsonBuff 转成 json 格式的 buff,作为 http body
|
||
func ToJsonBuff(v any) (*bytes.Buffer, error) {
|
||
var b bytes.Buffer
|
||
e := json.NewEncoder(&b)
|
||
// 设置禁止html转义
|
||
e.SetEscapeHTML(false)
|
||
err := e.Encode(v)
|
||
return &b, err
|
||
}
|