go语言string转结构体的实现

Rose ·
更新时间:2024-09-20
· 135 次阅读

在 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 中。如果解析失败,会返回一个非空的错误对象。

到此这篇关于go语言string转结构体的实现的文章就介绍到这了,更多相关go语言string转结构体内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



GO 结构体 string

需要 登录 后方可回复, 如果你还没有账号请 注册新账号