温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Go中结构体、数组、字典和json的字符串如何相互转换

发布时间:2021-08-25 15:42:54 来源:亿速云 阅读:516 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“Go中结构体、数组、字典和json的字符串如何相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go中结构体、数组、字典和json的字符串如何相互转换”这篇文章吧。

Go 语言中 encoding/json 包可以很方便的将结构体、数组、字典转换为 json 字符串。

引用

import "encoding/json"

解析语法

// v 传入结构体、数组等实例变量 // []byte 字节数组 // error 可能会有的错误 func Marshal(v interface{}) ([]byte, error)

反解析

// []byte 字节数组 // v 传入结构体、数组等实例变量的指针地址 // error 可能会有的错误 func Unmarshal(data []byte, v interface{}) error

代码

package main   // https://golang.org/pkg/encoding/json/ // https://cloud.tencent.com/developer/section/1141542#stage-100023262   import (  "fmt"  "encoding/json" )   type User struct {  Id int `json:"id"`  Name string `json:"name"` }   func main() {  // 字符串解析为结构体  s := `{"id": 1, "name": "wxnacy"}`    var user User  // 将字符串反解析为结构体  json.Unmarshal([]byte(s), &user)  fmt.Println(user) // {1 wxnacy}    var d map[string]interface{}  // 将字符串反解析为字典  json.Unmarshal([]byte(s), &d)  fmt.Println(d)  // map[id:1 name:wxnacy]      s = `[1, 2, 3, 4]`  var a []int  // 将字符串反解析为数组  json.Unmarshal([]byte(s), &a)  fmt.Println(a)  // [1 2 3 4]    // 将结构体解析为字符串  b, e := json.Marshal(user)  fmt.Println(e)  fmt.Println(string(b)) // {"id":1,"name":"wxnacy"}    b, e = json.Marshal(a)  fmt.Println(string(b), e) // [1,2,3,4] <nil>    b, e = json.Marshal(d)  fmt.Println(string(b), e) // {"id":1,"name":"wxnacy"} <nil> }

以上是“Go中结构体、数组、字典和json的字符串如何相互转换”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI