开发者

go语言string转结构体的实现

开发者 https://www.devze.com 2023-03-18 10:52 出处:网络 作者: i wanan
在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。

在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。

假设有以下 JSON 字符串:

{
    "name": "鸡哥",
    "age": 28,
    "gender": "男",
    "hobby": {
        "sing": "唱开发者_开发教程",
        "jump": "跳",
        "rap": "rap",
        "ball":"篮球"
    }
}

可以定义一个对应的结构体类型:

type hobby struct {
  Sing  string `json:"sing"`
js  Jump  string `json:"jump"`
  Rap   string `http://www.devze.comjson:"rap"`
  Hobby hobby  `json:"hobby"`
}

type Person struct {
  Name string `json:"name"`
  Age string `json:"aphpge"`
  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),js &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转结构体的实现的文章就介绍到这js了,更多相关go语言string转结构体内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消