ZBLOG

golang json字符串转struct

在Golang中,可以使用内置的encoding/json包来进行JSON字符串与结构体的转换。下面是一个示例代码:

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. )
  6. type Person struct {
  7. Name string `json:"name"`
  8. Age int `json:"age"`
  9. Email string `json:"email"`
  10. }
  11. func main() {
  12. jsonStr := `{"name":"Alice","age":25,"email":"alice@example.com"}`
  13. var person Person
  14. err := json.Unmarshal([]byte(jsonStr), &person)
  15. if err != nil {
  16. fmt.Println("解析JSON失败:", err)
  17. return
  18. }
  19. fmt.Printf("Name: %s\n", person.Name)
  20. fmt.Printf("Age: %d\n", person.Age)
  21. fmt.Printf("Email: %s\n", person.Email)
  22. person.Age = 26
  23. personJson, err := json.Marshal(person)
  24. if err != nil {
  25. fmt.Println("生成JSON失败:", err)
  26. return
  27. }
  28. fmt.Println(string(personJson))
  29. }

这个示例中,我们定义了一个Person结构体,并使用json标签指定了对应的JSON字段名。通过json.Unmarshal()函数将JSON字符串解析为结构体对象,然后就可以方便地访问和操作结构体成员。另外,通过json.Marshal()函数可以将结构体转换回JSON字符串。

运行上述代码输出结果如下:

  1. Name: Alice
  2. Age: 25
  3. Email: alice@example.com
  4. {"name":"Alice","age":26,"email":"alice@example.com"}

注意:在实际开发中,请根据具体情况自行定义适合的数据结构,并确保JSON字段名与结构体字段名一致或通过json标签指定对应关系。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=7874

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?