golang - 任意类型转json ,解决 字符转义导致的错误

// ToJson 对象转json字符串
func ToJson(obj interface{}) (str string, errMsg string) {
    //会导致字符转义,如 将&变成了\u0026
    //buf, err := json.Marshal(obj)

    //转成json 不转义特殊字符
    bf := bytes.NewBuffer([]byte{})
    jsonEncoder := json.NewEncoder(bf)
    jsonEncoder.SetEscapeHTML(false)
    err := jsonEncoder.Encode(obj)
    if err != nil {
        fmt.Println(err)
        errMsg = err.Error()
        return
    }
    //字节码转字符串
    str = bf.String()
    return
}

 

posted @ 2024-05-16 16:16  岑惜  阅读(366)  评论(0)    收藏  举报