golang读取嵌套json文件并序列化
时间: 2023-10-26 11:59:50 浏览: 123
Json文件序列化读取
如果 JSON 文件中包含嵌套的数据结构,可以使用嵌套的结构体来表示。
下面是一个示例代码,演示了如何读取嵌套的 JSON 文件并序列化:
```go
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type Address struct {
City string `json:"city"`
State string `json:"state"`
}
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Address Address `json:"address"`
}
func main() {
// 打开 JSON 文件并读取内容
data, err := ioutil.ReadFile("person.json")
if err != nil {
fmt.Println("读取文件失败:", err)
return
}
// 反序列化 JSON 数据为结构体
var person Person
err = json.Unmarshal(data, &person)
if err != nil {
fmt.Println("反序列化失败:", err)
return
}
// 输出反序列化后的结果
fmt.Println("姓名:", person.Name)
fmt.Println("年龄:", person.Age)
fmt.Println("城市:", person.Address.City)
fmt.Println("州:", person.Address.State)
}
```
在上面的代码中,`Person` 结构体包含一个嵌套的 `Address` 结构体,用来表示地址信息。注意,嵌套的结构体字段需要使用对应的结构体类型来表示,同时也需要使用 `json` 标签指定 JSON 文件中对应的字段名称。
阅读全文