首页 > 编程知识 正文

go语言json转换,go解析json的几种方式

时间:2023-05-04 15:58:11 阅读:256434 作者:730

例子1:把字符串转换成结构体:{"FromUid":"100","FromName":"HANASHAN"}

package mainimport ("fmt""encoding/json")//接收普通消息结构体type receiveMessage struct{FromUid string//发送者uidFromName string//发送者名字}func main(){str := []byte(`{"FromUid":"100","FromName":"HANASHAN"}`)var revMsg receiveMessageerr := json.Unmarshal([]byte(str),&revMsg)fmt.Println(err)fmt.Println(revMsg)}

例子2把 [{"Id2":100,"Title":"木华黎"},{"Id":200,"Title":"文静的吐司才"},{"Id":300,"Title":"纳呀啊","Test":100}]转换成go的切片

package mainimport ("encoding/json""fmt""reflect")//接收普通消息结构体type articles struct{Id int //文章idTitle string //文章标题}func main(){//json字符串数组,转换成切片articleStrings := `[{"Id2":100,"Title":"木华黎"},{"Id":200,"Title":"文静的吐司才"},{"Id":300,"Title":"纳呀啊","Test":100}]`var articleSlide []map[string]interface{}multiErr := json.Unmarshal([]byte(articleStrings),&articleSlide)if multiErr!=nil{fmt.Println("转换出错:",multiErr)}for k,v:=range articleSlide{fmt.Println("第",k,"个数的值是:",v,v["Id"],v["Title"])}fmt.Println(reflect.TypeOf(articleSlide))}

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。