如何在 Golang 中将 JSON 解码为对象?
假设我们有一个像这样的 JSON。
{"name":"Mukul Latiyan",
"age":10,
"sports":[
"football",
"tennis",
"cricket"
]
}
现在,我们想将这个 JSON 转换为结构体字段,我们可以稍后访问这些字段,也可以对其进行迭代。
为此,我们需要首先创建一个满足上述 JSON 字段的结构。
下面显示的结构将适用于上述 JSON。
type Person struct {Name string `json:"name"`
Age int `json:"age"`
Sports []string `json:"sports"`
}
现在,下一步是在 Go 中将上述 JSON 对象转换为一个字节片,借助类型转换,然后,我们将该字节片Unmarshal()与Person对象作为第二个参数一起传递给函数。
示例
考虑下面显示的代码。
package mainimport (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Sports []string `json:"sports"`
}
func main() {
text := []byte(
`{
"name":"Mukul Latiyan",
"age":10,
"sports":["football","tennis","cricket"]
}`)
var p Person
err := json.Unmarshal(text, &p)
if err != nil {
panic(err)
}
fmt.Println(p.Name)
fmt.Println(p.Age)
for _, value := rangep.Sports{
fmt.Println(value)
}
}
在上面的代码中,在调用Unmarshal函数后,我们只是简单地打印struct不同字段的值。
如果我们在上面的代码上运行go run main.go命令,那么我们将在终端中得到以下输出。
输出结果
Mukul Latiyan10
football
tennis
cricket
以上是 如何在 Golang 中将 JSON 解码为对象? 的全部内容, 来源链接: utcz.com/z/350399.html