【Go】从文件读取json

在Go语言中,可以使用标准库中的 encoding/json 包来将 JSON 数据解析为 Go 中的结构体。
下面是一个简单的示例代码,演示了如何从 JSON 文件中读取数据并将其解析为结构体:

package main

import (
    "encoding/json"
    "fmt"
    "os"
)

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func main() {
    // 打开 JSON 文件
    file, err := os.Open("person.json")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()

    // 从文件中读取 JSON 数据
    decoder := json.NewDecoder(file)
    var person Person
    err = decoder.Decode(&person)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 输出读取到的数据
    fmt.Println("Name:", person.Name)
    fmt.Println("Age:", person.Age)
}

在上面的代码中,我们定义了一个 Person 结构体,它具有 Name 和 Age 两个字段,并且在结构体的定义中使用了 json 标签,以便让编码/解码器知道如何将 JSON 数据映射到 Go 结构体中的字段。

然后,我们打开 person.json 文件并使用 json.NewDecoder 创建了一个 JSON 解码器。我们使用 decoder.Decode 将 JSON 数据解码到 Person 结构体中,这里我们需要传入结构体的地址。最后,我们输出了解码后的数据。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值