1.使用断言,强制转换
p,ok := (Value).(user)
if ok {
fmt.Println("id:" + p.Id)
fmt.Println("name:" + p.Name)
} else {
fmt.Println("can not convert")
}
2.json序列化
resByre,resByteErr:=json.Marshal(ResponseData)
if resByteErr != nil {
c.Data(utils.ErrorResult("读取信息失败" + resByteErr.Error()))
return
}
var newData MnConfig
jsonRes:=json.Unmarshal(resByre,&newData)
if jsonRes != nil {
c.Data(utils.ErrorResult("读取信息失败" + jsonRes.Error()))
return
}
实例:
package main
import (
"encoding/json"
"fmt"
)
type user struct {
Id int `json:"id"`
Name string `json:"name"`
}
func main() {
newUser:=user{
Id: 1,Name: "杉杉",}
var newInterface1 interface{}
//第一种使用interface
newInterface1=newUser
fmt.Printf("使用interface: %v",newInterface1.(user))
//第二种使用json
var newInterface2 interface{}
newInterface2=newUser
resByre,resByteErr := json.Marshal(newInterface2)
if resByteErr != nil {
fmt.Printf("%v",resByteErr)
return
}
var newData user
jsonRes := json.Unmarshal(resByre,&newData)
if jsonRes != nil {
fmt.Printf("%v",jsonRes)
return
}
fmt.Printf("使用 json: %v",newData)
}
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。