go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)

前言

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

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(1)

Go与Json

一个Json文件

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(2)

User.json文件内容

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

打开Json文件

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(3)

打开文档,并做判断。

声明数据结构

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(4)

声明数据结构

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

解析Json文档

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(5)

字段映射,解析

特殊地,非结构化数据

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

go对任意格式的json进行解析(3分钟微文档Go语言解析Json文件)(6)

非结构化json的处理方式

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

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

结语

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

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

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页