代码拉取完成,页面将自动刷新
package utils
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"strings"
"github.com/pkg/errors"
)
func JsonDecodeHttpRequest(req *http.Request, val interface{}) (err error) {
body, err := ioutil.ReadAll(req.Body)
if err != nil {
return errors.Wrap(err, "unable to read the request, %s")
}
if err = json.Unmarshal(body, val); err != nil {
return errors.Wrap(err, fmt.Sprintf("unable to parse string '%s' to JSON object", string(body)))
}
return nil
}
func JsonLoadConfig(filepath string, v interface{}) error {
if filepath == "" {
return errors.New("filepath can not be empty")
}
if ok, err := PathExists(filepath); err != nil || !ok {
return nil
}
f, err := ioutil.ReadFile(filepath)
if err != nil {
return err
}
if len(f) == 0 {
return nil
}
return json.Unmarshal(f, v)
}
func JsonStoreConfig(filepath string, v interface{}) error {
var out bytes.Buffer
if filepath == "" {
return errors.New("filepath can not be empty")
}
data, err := json.Marshal(v)
if err != nil {
return err
}
err = json.Indent(&out, data, "", "\t")
if err != nil {
return err
}
if ok, err := PathExists(filepath); err != nil || !ok {
MkdirForFile(filepath, 0755)
}
content := string(out.Bytes())
content = strings.ReplaceAll(content, "\\u003c", "<")
content = strings.ReplaceAll(content, "\\u003e", ">")
return ioutil.WriteFile(filepath, []byte(content), 0664)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。