前言
在开发过程中,有时我们使用interface类型接受某些参数接口或返回类型,但输出时,比如记录日志时存在很多不方便情况,输出string发现输出的乱七八糟,因为interface在输出时并不能给你转为string,处于输出方便,总结两种方法在此,上代码:
一、interface 转json再转string
func main() {
//sendGetRequestWithParams()
json := JSONData{
}
stri := json.NewJSONData()
fmt.Println("开始学习 " + stri)
}
func (*JSONData) NewJSONData() string {
json := &JSONData{
Code: 200,
Message: "OK",
Result: Result{
AppID: 1,
AccessToken: "aB2XvR5wL9yOzQ8",
ExpireTime: 1609459200,
RefreshToken: "<PASSWORD>",
},
}
return interfaceTOString(json)
}
func interfaceTOString(v interface{
}) string {
jsonData, err := json.Marshal(v)
if err != nil {
fmt.Println("Error:", err)
return ""
}
jsonString := string(jsonData)
return jsonString
}
type JSONData struct {
Code int `json:"code"`
Message string `json:"message"`
Result Result `json:"result"`
}
type Result struct {
AppID int `json:"appId"`
AccessToken string `json:"accessToken"`
ExpireTime int `json:"expireTime"`
RefreshToken string `json:"refreshToken"`
}
输出:
[Running