在 Go 的开发过程中,经常遇到一个非常麻烦的问题就是 JSON 的解析。因为 Go 中的 JSON 的解析,一般来说需要定义对应 JSON 的 struct。或者使用 interface{} 类型来进行定义,然后再进行类型的转换。当然这在 Python 中可能两三句话就搞定了。
在 Goland 2022.01 最新版本中,终于迎来了在 JSON 方面解析的便捷功能。在最新版本中,只要将 JSON 粘贴到 IDE 中就会提示是否转化为 struct 类型,所有的字段都会被生成,相对于以前的一个个的手动的定义要方便太多太多了。

还可以使用 Action 来进行转换动作,Generate Go Type form JSON:

同时还可以添加新的 tag,key 以及修改 key 的代码风格,调用来说一般使用 alt+enter 快捷键即可。
Intention actions
字段添加新的 tag
-
点击
struct的字段然后按alt+enter -
选择
Add key to tags

修改 key
-
点击
struct的字段然后按alt+enter -
选择
Update key value in tags

修改 key 的代码风格
-
点击
struct的字段然后按alt+enter -
选择
Change field name style in tags

代码补全
当修改 key 的时候,Goland 会展示最有可能的候选值。比如,json 会建议 omitempty,xml 会建议 attr,cdata,chardata 以及 innerxml 等。

Reference
-
https://www.jetbrains.com/help/go/working-with-json.html#intention-actions-json
文章评论