当前位置: 七九推 > IT编程>脚本编程>Python > go语言string转结构体的实现

go语言string转结构体的实现

2023年03月19日 Python 我要评论
在 go 语言中,可以使用标准库中的 encoding/json 包将 json 格式的字符串转换为结构体。假设有以下 json 字符串:{ "name": "鸡哥", "age": 28

在 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转结构体内容请搜索七九推以前的文章或继续浏览下面的相关文章希望大家以后多多支持七九推!

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2023  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com