golang jsondecode
时间: 2023-08-29 07:06:39 浏览: 148
Golang处理JSON(二) 反序列化
你可以使用 Go 语言内置的 `encoding/json` 包来解码 JSON 数据。以下是一个简单的示例代码:
```go
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Address string `json:"address"`
}
func main() {
jsonStr := `{"name": "Alice", "age": 30, "address": "123 Main St"}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(p.Name)
fmt.Println(p.Age)
fmt.Println(p.Address)
}
```
在这个例子中,我们首先定义了一个 `Person` 结构体,并使用 `json` 标签指定字段名。接下来,我们使用 `json.Unmarshal` 方法将 JSON 字符串解码为 `Person` 类型的变量 `p`。最后,我们打印出 `p` 的各个字段值。
注意,如果 JSON 字符串中的某些字段在结构体中没有对应的字段,它们会被忽略。如果 JSON 字符串中的字段类型与结构体中的类型不匹配,`json.Unmarshal` 方法会返回一个错误。
阅读全文