全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何通过Golang读取JSON文件内容_Golang JSON文件解析实践

用Golang读取JSON文件需先用os.ReadFile读取内容,再用json.Unmarshal解析为结构体或map;结构体字段须大写且用json标签匹配键名,map方式需类型断言。

用 Golang 读取 JSON 文件很简单,核心是 先读文件内容,再用 json.Unmarshal 解析成 Go 结构体或 map。关键点在于:文件路径要对、JSON 格式要合法、结构体字段要可导出(首字母大写)、标签(json:"xxx")要匹配字段名。

准备一个 JSON 文件

比如创建 config.json

{ "name": "Alice", "age": 30, "hobbies": ["reading", "coding"], "is_student": false }

定义匹配的 Go 结构体

结构体字段名首字母必须大写,用 json 标签映射 JSON 中的 key:

type Config struct {
  Name string `json:"name"`
  Age int `json:"age"`
  Hobbies []string `json:"hobbies"`
  IsStudent bool `json:"is_student"`
}

读取并解析 JSON 文件

使用 os.ReadFile(Go 1.16+ 推荐)或 ioutil.ReadFile(旧版)读取字节流,再传给 json.Unmarshal

func main() {
  data, err := os.ReadFile("config.json")
  if err != nil {
    log.Fatal("读取文件失败:", err)
  }

  var cfg Config
  if err := json.Unmarshal(data, &cfg); err != nil {
    log.Fatal("解析 JSON 失败:", err)
  }

  fmt.Printf("%+v\n", cfg) // {Name:Alice Age:30 Hobbies:[reading coding] IsStudent:false}
}

快速解析为 map(无需预定义结构体)

如果 JSON 结构不固定或只是临时读取,可用 map[string]interface{}

var m map[string]interface{}
if err := json.Unmarshal(data, &m); err != nil {
  log.Fatal(err)
}
fmt.Println(m["name"], m["age"]) // Alice 30

注意:值需类型断言(如 m["age"].(float64)),因为 JSON 数字默认解析为 float64

基本上就这些。不复杂但容易忽略大小写和标签匹配,调试时打印原始 data 和错误信息很实用。


# js  # json  # go  # golang  # 字节  # ai  # String  # if  # printf  # 结构体  # bool  # int  # Struct  # Interface  # var  # nil  # map  # 再用  # 首字母  # 字段名  # 很简单  # 要对  # 错误信息  # 先用  # 旧版  # 键名  # Alice 


相关文章: 如何制作网站标识牌,动态网站如何制作(教程)?  如何在橙子建站上传落地页?操作指南详解  如何选择香港主机高效搭建外贸独立站?  建站与域名管理如何高效结合?  建站主机与服务器功能差异如何区分?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何用AWS免费套餐快速搭建高效网站?  如何通过FTP空间快速搭建安全高效网站?  如何通过主机屋免费建站教程十分钟搭建网站?  如何在香港免费服务器上快速搭建网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  建设网站制作价格,怎样建立自己的公司网站?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  如何正确下载安装西数主机建站助手?  香港服务器租用费用高吗?如何避免常见误区?  如何快速配置高效服务器建站软件?  如何获取PHP WAP自助建站系统源码?  江苏网站制作公司有哪些,江苏书法考级官方网站?  家庭建站与云服务器建站,如何选择更优?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何在云主机快速搭建网站站点?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何通过智能用户系统一键生成高效建站方案?  如何彻底卸载建站之星软件?  文字头像制作网站推荐软件,醒图能自动配文字吗?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站之星在线版空间:自助建站+智能模板一键生成方案  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何快速搭建响应式可视化网站?  如何在IIS7中新建站点?详细步骤解析  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  如何在建站宝盒中设置产品搜索功能?  如何在腾讯云免费申请建站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  名字制作网站免费,所有小说网站的名字?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何在自有机房高效搭建专业网站?  清除minerd进程的简单方法  如何快速搭建自助建站会员专属系统?  微课制作网站有哪些,微课网怎么进?  模具网站制作流程,如何找模具客户?  网站制作软件有哪些,制图软件有哪些?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  实例解析angularjs的filter过滤器  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  建站org新手必看:2024最新搭建流程与模板选择技巧  自助网站制作软件,个人如何自助建网站?  建站之星代理如何优化在线客服效率? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。