Goland使用教程01:高效的处理json文本

1,941 阅读3分钟

大家好,我是「Go学堂」的渔夫子。

“工欲善其事,必先利其器”。今天我们来讲解Goland是如何高效的处理json的。

01 将json直接转换成结构体

首先我们有一个段json格式的数据如下,看下Goland是如何快捷的转换成结构体的。

{
    "email": "noah.poulsen@example.com",
    "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页.png

  • 1.3 对结构体进行命名。将json文本转换成结构体后,鼠标会自动定位到结构体名字的位置,也就是初始状态是T的位置。这时,我们改变结构体的名字为User,然后按 Esc键完成对结构体名字的编辑。如下图:

第2页.png

02 将结构体内的内嵌结构体定义移动到外部

我们在上节看到,Location结构体的定义是在User结构体内部的,如果我们想将Location结构体的定义移动到User的外面该如何操作呢?

  • 2.1 首先将鼠标移动到Location的位置,然后使用Ctr + T快捷键操作,调出"Refactor This"菜单。如下图:

json-06-重构json-location-01.png

  • 2.2 在refactor This菜单中,我们发现有很多项,我们选择其中的"introduce type..."(引入类型...),其他项我们在后续使用中再逐一介绍。选择了该菜单项后,Location字段的结构体就会挪到User外面,并要求输入结构体名称。如下图:

json-06-重构json-location-自定义成功.png

  • 2.3 在新增定义的结构体中输入结构体的名称,我们这里叫Location,发现在User字段中Location字段的名称也随之改变。然后按 Esc键完成本次引入类型的操作。如下图所示。

json-06-json重命名location.png

03 使用⌥Opt+Enter快捷键快速更改tag中字段的命名风格

我们发现,在tag中,json的字段名称是用下划线格式风格的,如果我们想将其快速更改成驼峰式命名风格 该如何操作呢?

  • 3.1 首先将鼠标移动到tag字段处的位置,然后使用快捷键 ⌥Opt + Enter,可以调用出菜单项。 然后选择Change field name style in tags

  • 3.2 我们会看到很多种命名风格,这里我们选择fieldName。我们会发现在该结构体内tag的所有命名都更改成了驼峰式命名。如下图所示:

json-07-enter-命名风格-最终效果.png

04 使用⌥Opt+Enter快捷键快速更新tag中的值

在上一节我们看到Opt+Enter键会弹出很多菜单选项。我们这里介绍在tag值中批量增加omitempty的操作。

  • 4.1 首先将鼠标移动到tag字段处的位置,然后使用快捷键 ⌥Opt + Enter,可以调用出菜单项。 然后选择Update key value in tags

  • 4.2 然后键入omitempty,结果将结构体中的所有tag值都加上了omitempty值。如下图所示:

json-07-opt-enter-快速添加omitempty.png

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。如下图所示:

json-07-opt-enter添加key.png

总结

本文总结了在Goland中通过快捷键的方式操作json到结构体的转换。其中在使用Opt+Enter快捷键的菜单选项中,还有很多相关的功能,大家在实际使用中可以尝试,熟练使用,以提高工作效率,节省时间。