go语言里读写json
主思路
go语言里读写json,可以使用 encoding/json ,简单或可变的结构就用 map[string]interface{},复杂的就定义所有的 struct
详情
导入包
import ("encoding/json""io/ioutil""log"
)
先读出文件,变成byte[]
var data, _ = ioutil.ReadFile(jsonFile)
定义好一个通用结构 ConfigData,如果json结构不变可以详细地定义
type ConfigData map[string]interface{}
从data转成ConfigData
var scriptConfig ScriptConfigvar err = json.Unmarshal(data, &scriptConfig)if err != nil {log.Printf("error: \n", err)// errorlog.Fatal("process json file failed")return}
通用结构其实就是一个map,在使用的时候要用字符串来引用属性,比如scriptConfig['notes']。如果是固定结构struct(可以嵌套),那么可以详细地定义好结构,这样在编译阶段就可以检查属性名字是否正确。
例如这样的复杂结构
type SizeInfo struct {W int `json:"w"`H int `json:"h"`
}type Material struct {Source string `json:"source"`Filter string `json:"filter"`
}type ScriptConfig struct {Notes string `json:"notes"`TargetDir string `json:"targetDir"`MaterialDir string `json:"materialDir"`Size SizeInfo `json:"size"`Materials map[string]Material `json:"materials"`
}
这样在编译的时候就会检查名字是否正确,提前避免一些typo的问题。
参考
官方 json package - encoding/json - pkg.go.dev
go语言里读写json相关推荐
- C语言 文件读写 fputs 函数 - C语言零基础入门教程
目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...
- C语言 文件读写 fputc 函数 - C语言零基础入门教程
目录 一.fputc 函数简介 二.fputc 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fputc 函数简介 fpu ...
- C语言 文件读写 fseek 函数 - C语言零基础入门教程
目录 一.fseek 函数简介 二.fseek 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fseek 函数简介 fse ...
- C语言 文件读写 EOF - C语言零基础入门教程
目录 一.EOF 简介 二.EOF 实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.EOF 简介 EOF 是 End Of Fi ...
- C语言 文件读写 ferror 函数 - C语言零基础入门教程
目录 一.ferror 函数简介 二.ferror 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.ferror 函数简介 ...
- python 读写 json文件
json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...
- Unity实用小工具或脚本——读写Json工具
一.前言 在Unity中读写Json文件已经有非常好的工具,可以将Json文件和结构体数据进行相互转换,如图1所示,在Unity Asset Store中搜JSON.NET可以找到该插件, ...
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- Qt读写JSON,以及使用QTreeView展示和编辑JSON数据
0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...
最新文章
- 三星s5能升级到android7.0,三星手机Android 7.0升级的最新列表: Galaxy S5,未注意Note 4...
- ACM入门之【KMP】
- bzoj 1997: [Hnoi2010]Planar
- 园区交换网络和路由网络综合设计,测试完工啦
- Linux删除重复内容命令uniq笔记
- vue element-ui 无法渲染表格数据解决
- Android面试基础一
- shellcode编写
- 传高盛与德劭前合伙人组5亿美元私募基金
- 【ZJCPC2018 第15届 浙江省赛】The 15th Zhejiang Provincial Collegiate Programming Contest(MABLJK 6题)
- 反射学习系列1-反射入门
- SpringCloud学习之Hystrix
- java demo类_《java语言程序设计》初步学习——各种小Demo
- 【14年浙江省赛 ZOJ 3780】Paint the Grid Again【图转换】
- 【Opencv】图像分割——区域生长
- 推荐系统的PMF - 概率矩阵分解和协同过滤
- 《传奇之王》风波不断 编剧替柳云龙打抱不平_0
- Excel神器之xlwings的安装
- Word明明有很大空白表格还是自动换页
- 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...