golang读取json文件并序列化
时间: 2023-10-26 21:59:50 浏览: 243
你可以按照以下步骤读取 JSON 文件并序列化:
1. 导入 Go 语言内置的 `encoding/json` 包。
2. 打开 JSON 文件并读取内容,可以使用 `ioutil.ReadFile` 函数。
3. 声明一个结构体类型,定义 JSON 文件中所包含的数据类型和字段。
4. 调用 `json.Unmarshal` 函数将读取到的 JSON 数据反序列化为结构体。
下面是一个示例代码:
```go
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
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)
}
```
注意,结构体中的字段需要使用 `json` 标签指定 JSON 文件中对应的字段名称。在上面的代码中,`Name` 对应 JSON 文件中的 `name` 字段,`Age` 对应 `age` 字段。
阅读全文