

Goland 使用教程 01:高效的处理 json 文本
source link: https://studygolang.com/articles/35396
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Goland 使用教程 01:高效的处理 json 文本
yudotyang · 6天之前 · 383 次点击 · 预计阅读时间 4 分钟 · 大约8小时之前 开始浏览大家好,我是Go学堂的渔夫子。
工欲善其事,必先利其器。今天我们讲解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。如下图所示:
本文总结了在Goland中通过快捷键的方式操作json相关的操作。其中在使用Opt+Enter快捷键的菜单选项中,还有很多相关的功能,大家在实际使用中可以尝试,熟练使用,以提高工作效率,节省时间。
有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077
Recommend
-
40
title: 如何使用GoLand调试beego项目 前言 beego是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架。 GoLand是一个用于开发go应用的IDE...
-
51
-
29
注意:本教程补丁、激活码收集与网络,如有侵权请联系作者删除! 2019.11.28 jetbrains公司发布了Go的最强编辑器GoLand 2019.3。本次更新软件消耗更少的CPU和更快的性能,增强了对Go Modules的支持,添加了一组新的快速修复程序...
-
25
今天,我们开始撰写一系列有关 GoLand 内部对 Docker,Docker Compose 和 Kubernetes 的支持以及它如何帮助我们在 Go 中编写(微)服务的文章。 我们将研究如何在 IDE 中配置项目,如何使用 Docker 或 Kubernetes 运行或调试我们...
-
20
不管学习什么编程语言一开始都会经历的四步 开发工具安装 IDE安装 设置 依赖/包 国内镜像 项目构建工具,管理依赖/包 一、Golang 开发工具安装
-
6
Golang是一门优秀的语言,特别是在并发编程上,得益于它的协程和channel等,非常方便易用。它通过go module来管理包和依赖,本文介绍如何利用它创建一个项目。
-
10
Golang的SDK下载安装与Goland安装使用,创建第一个go程序 Roy01 · 37分钟之前 · 7 次点击 · 预计阅读时间不到 1 分钟 · 不到1分钟之前 开始浏览 ...
-
9
使用 ElementUI image 处理富文本中的图片显示
-
15
GoLand解析json获取指定字段内容 wangcheng · 16天之前 · 618 次点击 · 预计阅读时间 2 分钟 ·...
-
10
V2EX › Go 编程语言 GoLand 疯狂刷 go mod list -m -json all
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK