工欲善其事,必先利其器。今天分享一篇关于 Goland是如何高效的处理json的技巧。
01 将json直接转换成结构体
首先我们有一个段json格式的数据如下,看下Goland是如何快捷的转换成结构体的。
{
"email": "[email protected]",
"gender": "male",
"first_name": "noah",
"last_name": "poulsen",
"location": {
"street": "7998 oddenvej",
"city": "nr åby",
"state": "syddanmark",
"postcode": 73617
},
"username": "purplesnake503",
"password": "zelda",
"picture": "img/41.jpg"
}
1.1 使用⌘ Cmd + C 复制该段json文本
1.2 在Goland的文本编辑区域使用⌘ Cmd + V 粘贴刚才复制的json文本,这时,会弹出一个询问是否从JSON中生成Go类型的对话框,直接选择 yes。如下图:
1.3 对结构体进行命名。将json文本转换成结构体后,鼠标会自动定位到结构体名字的位置,也就是初始状态是T的位置。这时,我们改变结构体的名字为User,然后按 Esc键完成对结构体名字的编辑。如下图:
02 将匿名结构体定义移动到结构体外部
我们在上节看到,Location结构体的定义是在User结构体内部的,如果我们想将Location结构体的定义移动到User的外面该如何操作呢?
2.1 首先将鼠标移动到Location的位置,然后使用Ctr + T快捷键操作,调出"Refactor This"菜单。如下图:
2.2 在refactor This菜单中,我们发现有很多项,我们选择其中的"introduce type…"(引入类型…),其他项我们在后续使用中再逐一介绍。选择了该菜单项后,Location字段的结构体就会挪到User外面,并要求输入结构体名称。如下图:
2.3 在新增定义的结构体中输入结构体的名称,我们这里叫Location,发现在User字段中Location字段的名称也随之改变。然后按 Esc键完成本次引入类型的操作。如下图所示。
03 使用⌥Opt+Enter快捷键快速更改tag中字段的命名风格
我们发现,在tag中,json的字段名称是用下划线格式风格的,如果我们想将其快速更改成驼峰式命名风格 该如何操作呢?
3.1 首先将鼠标移动到tag字段处的位置,然后使用快捷键 ⌥Opt + Enter,可以调用出菜单项。然后选择Change field name style in tags
3.2 我们会看到很多种命名风格,这里我们选择fieldName。我们会发现在该结构体内tag的所有命名都更改成了驼峰式命名。如下图所示:
04 使用⌥Opt+Enter快捷键快速更新tag中的值
在上一节我们看到Opt+Enter键会弹出很多菜单选项。我们这里介绍在tag值中批量增加omitempty的操作。
4.1 首先将鼠标移动到tag字段处的位置,然后使用快捷键 ⌥Opt + Enter,可以调用出菜单项。然后选择Update key value in tags
4.2 然后键入omitempty,结果将结构体中的所有tag值都加上了omitempty值。如下图所示:
05 使用⌥Opt+Enter快捷键在tag中快速添加key
同样,我们使用Opt+Enter快捷键可以在tag中快速的添加key,例如xml,json等。
5.1 首先将鼠标移动到tag字段处的位置,然后使用快捷键 ⌥Opt + Enter,可以调用出菜单项。然后选择Add key to tags
5.2 然后键入xml,结果将结构体中的所有tag值都加上了xml的key。如下图所示:
06 总结
本文总结了在Goland中通过快捷键的方式操作json相关的操作。其中在使用Opt+Enter快捷键的菜单选项中,还有很多相关的功能,大家在实际使用中可以尝试,熟练使用,以提高工作效率,节省时间。
⬇⬇⬇
文章评论