go json字符串转换成结构体,json字符串数组转换成切片

傷城~ 2023-02-17 13:27 105阅读 0赞

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

  1. package main
  2. import (
  3. "fmt"
  4. "encoding/json"
  5. )
  6. //接收普通消息结构体
  7. type receiveMessage struct{
  8. FromUid string //发送者uid
  9. FromName string //发送者名字
  10. }
  11. func main(){
  12. str := []byte(`{"FromUid":"100","FromName":"HANASHAN"}`)
  13. var revMsg receiveMessage
  14. err := json.Unmarshal([]byte(str),&revMsg)
  15. fmt.Println(err)
  16. fmt.Println(revMsg)
  17. }

例子2把 [{“Id2”:100,”Title”:”木华黎”},{“Id”:200,”Title”:”耶律楚才”},{“Id”:300,”Title”:”纳呀啊”,”Test”:100}]转换成go的切片

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "reflect"
  6. )
  7. //接收普通消息结构体
  8. type articles struct{
  9. Id int //文章id
  10. Title string //文章标题
  11. }
  12. func main(){
  13. //json字符串数组,转换成切片
  14. articleStrings := `[{"Id2":100,"Title":"木华黎"},{"Id":200,"Title":"耶律楚才"},{"Id":300,"Title":"纳呀啊","Test":100}]`
  15. var articleSlide []map[string]interface{}
  16. multiErr := json.Unmarshal([]byte(articleStrings),&articleSlide)
  17. if multiErr!=nil{
  18. fmt.Println("转换出错:",multiErr)
  19. }
  20. for k,v:=range articleSlide{
  21. fmt.Println("第",k,"个数的值是:",v,v["Id"],v["Title"])
  22. }
  23. fmt.Println(reflect.TypeOf(articleSlide))
  24. }

发表评论

表情:
评论列表 (有 0 条评论,105人围观)

还没有评论,来说两句吧...

相关阅读