登录
首页 >  Golang >  Go教程

go语言怎么实现string转结构体

来源:亿速云

时间:2023-03-17 14:27:06 458浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《go语言怎么实现string转结构体》,正文内容主要涉及到String、go语言等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

这篇“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("爱好:%sn唱:%dn跳:%sn爱好:%vn", person.Sing, person.Jump, person.Rap, person.Hobby)
}

在这个例子中,我们将 JSON 字符串 jsonStr 解析为类型为 Person 的结构体实例 person。&person 表示将 person 的地址传递给 json.Unmarshal() 函数,让它将解析的结果填充到 person 中。如果解析失败,会返回一个非空的错误对象。

以上就是关于“go语言怎么实现string转结构体”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注golang学习网行业资讯频道。

以上就是《go语言怎么实现string转结构体》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:亿速云 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表