go语言string转结构体的实现

本文主要介绍了go语言string转结构体的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。
假设有以下 JSON 字符串:
{ "name": "鸡哥", "age": 28, "gender": "男", "hobby": { "sing": "唱", "jump": "跳", "rap": "rap", "ball":"篮球" } }
可以定义一个对应的结构体类型:
type hobby struct { Sing string `json:"sing"` Jump string `json:"jump"` Rap string `json:"rap"` Hobby hobby `json:"hobby"` } type Person struct { Name string `json:"name"` Age string `json:"age"` Gender string `json:"gender` Hobby hobby `json:"hobby"` }
然后使用 json.Unmarshal() 函数将 JSON 字符串解析为该结构体类型的实例:
package main import ( "encoding/json" "fmt" ) func main() { jsonStr := `{ "name": "鸡哥", "age": 28, "gender": "男", "hobby": { "sing": "唱", "jump": "跳", "rap": "rap", "ball":"篮球" } }` var person Person if err := json.Unmarshal([]byte(jsonStr), &person); err != nil { fmt.Println("解析 JSON 失败:", err) return } fmt.Printf("爱好:%s\n唱:%d\n跳:%s\n爱好:%v\n", person.Sing, person.Jump, person.Rap, person.Hobby) }
在这个例子中,我们将 JSON 字符串 jsonStr 解析为类型为 Person 的结构体实例 person。&person 表示将 person 的地址传递给 json.Unmarshal() 函数,让它将解析的结果填充到 person 中。如果解析失败,会返回一个非空的错误对象。
相关推荐
PHP实现部分字符隐藏
沙雕mars · 1199浏览 · 2019-04-28 09:47:56

Java中ArrayList和LinkedList区别
kenrry1992 · 808浏览 · 2019-05-08 21:14:54

5月语言排行榜:R 跌出前二十,Python 紧咬 C++
manongba · 620浏览 · 2019-05-09 17:27:24

Tomcat 下载及安装配置
manongba · 858浏览 · 2019-05-13 21:03:56

什么是SpringBoot
iamitnan · 976浏览 · 2019-05-14 22:20:36

分类专栏
最新发布
最热排行
0评论