flex bison解析json文件_3分钟微文档:Go语言解析Json文件,你值得收藏

前言

Json是开发中最常用的数据格式,无论API开发,文档存储,或者MongoDB数据库,都离不开Json格式的处理。

本文教你快速掌握GO语言解析Json文件的方法。

9187abdc79d496baea5a63ad9d00f449.png

Go与Json

一个Json文件

这个是示例文件,命名为 User.json,存储用户信息。

440124f9e563470f2f3c43308e5ad536.png

User.json文件内容

文档结构就不做介绍了,都是键值对,非常容易理解。

打开Json文件

下面使用 os 包内的 Open 函数打开文件。

5d4f9718526998c44d851129c75e00ff.png

打开文档,并做判断。

声明数据结构

为了与Json字典结构对应,声明相应的数据结构。

5ae109ad83fbd3bd1f0927d5e23a9b47.png

声明数据结构

因为Json文档数据结构固定,所以程序内使用相应的字段进行映射。

解析Json文档

上面使用 os.Open打开 User.json 文件到 jsonFile 变量,接着通过 ioutil 读写文件。并使用 encoding/json 包函数 unmarshal 解析文本流到数据结构 User。

6287f53af271d52bd3b43bc4cceac813.png

字段映射,解析

特殊地,非结构化数据

如果json文件的结构,不是标准格式,掺杂了各种层级的嵌套,那么就不好用数据结构嵌套解决。我们需要单独处理。

ca01afaa28126e2557c847cbe83d4097.png

非结构化json的处理方式

可以看到,打开关闭文件相同,读入文件相同。特殊的地方是,我们不在使用 struct 结构存储数据,因为不可知,所以使用 interface{} 字典存储。

后续使用键方式读取相应值。原理是相通的。

结语

掌握了三步,基本就掌握了json的操作。

对于程序中,能够做到结构化存储的,尽量结构化存储,这样数据层级不会来回变,程序健壮性可以增强。

我是@程序员小助手,持续分享编程与程序员成长相关的内容,欢迎关注~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值