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 字符串的相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年05月20日
2024年05月20日
- 张杰《第1张》首版 [WAV+CUE][412M]
- 《永劫无间》反击《王者荣耀》:武道无穷,但请尊重“武道”
- 《星之破晓》回应《永劫无间》:蹭蹭精,莫挨,不欢迎!
- 腾讯网易打起来了!网易新游开喷腾讯太子:王者,你不是我的荣耀
- 摩登澡堂
- 冯晓泉.1995-遥远的城镇遥远的人【京文】【WAV+CUE】
- 蒋志光.1990-相逢·走【永高创意】【WAV+CUE】
- 挑战者 Challengers
- 群星.2014-电影歌曲101.6CD【环球】【WAV+CUE】
- 母亲的直觉 Mothers' Instinct
- 凶猛动物在哪里怎么接?任务完成攻略分享
- 原画壁纸及美图第226期,无水印可自取
- 七圣召唤打牌怎么玩?打牌玩法流程介绍
- 恋爱视觉小说游戏《机械恋心》上架Steam!本月发售
- 星穹铁道2.2匹诺康尼大剧院梦境迷钟解密合集 匹诺康尼大剧院迷钟修复攻略