GoLand 2025.2 Help

JSON

JSON 格式通常用于存储数据和配置文件。 GoLand 可协助您处理 JSON 文件 — 它会检查其语法和格式。 在常见类型的配置文件中,GoLand 根据 JSON Schema 验证代码并提供代码补全;该格式专用于描述此类文件的结构和内容。

GoLand 自带一组适用于大多数常用格式的 已注册 架构。 您也可以使用 JSON Schema Store 中的架构自定义 JSON 架构

捆绑的架构和来自 Schema Store 的架构

启用 JSON5

GoLand 支持多种流行的 JSON 标准,包括 JSON5。 GoLand 默认将扩展名为 json5 的文件视为 JSON5 文件,并支持其语法。

使用 JSON5 的配置文件,默认扩展名为 .json5

将 JSON5 语法扩展到所有 JSON 文件

  1. 设置 对话框(Ctrl+Alt+S )中,转到 编辑器|文件类型

  2. 已识别的文件类型 列表中,选择 JSON5

  3. 文件名模式 区域,点击 添加 ,然后在打开的 添加通配符 对话框中键入 *.json

    将 JSON5 语法扩展到所有 JSON 文件

使用 JSON Schema Store 中的架构

GoLand 可自动从 JSON Schema Store 下载并使用架构,该站点托管了许多流行配置文件的架构文件。 当您打开的文件名称与某个可用架构相关联时(例如 tsconfig.json ),GoLand 会下载并为其使用该架构。 所使用的架构名称显示在状态栏中。

从 JSON Schema Store 下载的 JSON 架构,所使用的架构名称显示在状态栏中

如果您的配置文件使用自定义名称,或您正在使用 临时文件 ,请在状态栏中点击 无 JSON 架构 ,然后从列表中选择所需的架构。 GoLand 会将当前文件与所选架构相关联,并将此架构映射添加至 JSON 架构映射 页面中的列表。

或者,点击 新建架构映射 打开 JSON 架构映射 页面并 配置新的架构关联

当前文件无 JSON 架构

默认情况下,启用了从 JSON Schema Store 自动下载架构。 如果该功能被关闭,您随时可以重新启用。

自动从 JSON Schema Store 下载架构

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架|架构与 DTD|远程 JSON 架构

  2. 选中 允许从远程来源下载 JSON 架构使用 schemastore.org JSON 架构目录 复选框。

GoLand 随附多个流行的架构。 尽管这些架构通常会定期自动更新,但仍可能存在过时情况。

使用最新版本的捆绑架构

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架|架构与 DTD|远程 JSON 架构

  2. 选中 始终下载架构的最新版本 复选框。

使用自定义 JSON 架构

除了已捆绑注册的架构和 来自 JSON Schema Store 的架构 外,GoLand 还允许您创建自己的架构或使用来自其他存储的自定义架构。 您可以创建或下载所需的架构,存储在项目根目录下,也可以指定资源的 URL,GoLand 会自动下载该架构。

自定义架构必须符合 JSON 架构标准。 当前,GoLand 支持 2020-12 及更早版本的架构。

自定义架构符合 2020-12 标准

创建自定义 JSON 架构关联

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架| 架构和DTD| JSON 架构映射

    或者,单击状态栏中的 无 JSON 架构 ,然后选择 新建架构映射。 在这种情况下,GoLand 会自动将文件包含到 关联文件、文件夹与模式列表 中。

  2. 在中央窗格中,显示之前配置的所有 Schema,点击工具栏上的 添加 并指定映射名称。

  3. 架构文件或 URL 字段中,指定之前创建或下载的 Schema 文件的位置,或指定所需 Schema 可用的 URL。 Schema 文件名称或对应的 URL 地址显示在 架构文件或 URL 字段中。

    指定架构文件
  4. 指定 Schema 遵循的 Schema 规范版本

    选择架构版本
  5. 创建一份文件或文件夹列表,以便使用此 Schema 验证。 GoLand 将根据列表在内部检测需要验证的文件。

    该列表可以包含特定文件名称、整个目录名称及文件名模式。 使用以下规则来指定文件名模式:

    • role-* 匹配所有文件名以 role- 开头的文件。

    • role-*/**/*.yaml 匹配所有名称包含 role// .yaml 文件。

    • role-**.yaml 匹配所有名称以 role- 开头的 .yaml 文件。

    要将条目添加到列表,请点击 添加映射

    向作用域添加项

    指定文件或文件夹的路径,或输入文件模式。 指定相对于项目根目录的路径。

    指定文件模式

启用从远程来源自动下载 JSON 架构

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架|架构与 DTD|远程 JSON 架构

  2. 选择 允许从远程来源下载 JSON 架构

    取消选中该复选框时,所有与 JSON Schema 相关的网络活动(包括来自 JSON Schema Store 的 Schema)将被禁用。

禁用 JSON 架构

  • 要为某个文件禁用 Schema,请点击状态栏中的 JSON 架构 小组件,然后从弹出列表中选择 忽略文件的 JSON 架构

    忽略当前文件的架构

    或者,选择 编辑架构映射编辑 Schema 的作用域。 例如,您可以编辑相应的模式,或在文件名明确指定的情况下将文件从列表中移除。

    最后,您可以选择 新建架构映射 并配置 Schema 关联, 如上所述

    忽略架构并创建新映射
  • 要恢复当前文件的 Schema 关联,请点击状态栏中的 无 JSON 架构 ,然后从弹出列表中选择 停止忽略文件的 JSON 架构

    恢复文件与架构的关联
  • 要为整个当前项目禁用自定义 Schema,请打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架| 架构和DTD| JSON 架构映射 ,在中央窗格中选择 Schema 关联,然后点击工具栏上的 删除按钮

处理架构作用域之间的冲突

如果某个文件、文件夹或模式属于两个或多个 Schema 的作用域,GoLand 会检测到该冲突,并在编辑器和 JSON 架构映射 页的 设置 对话框中显示警告。

在编辑器中,当打开属于多个作用域的文件时,会显示警告。

有关编辑器中架构作用域冲突的通知

设置 对话框的 JSON 架构映射 页上,当多个映射的作用域重叠时会显示警告。

有关“设置”对话框中架构作用域冲突的通知

在 JSON 架构中使用 HTML 描述

默认情况下,GoLand 在文档弹窗中显示 JSON Schema 定义文档时会转义 HTML 字符。

假设 Schema 使用了 description 属性:

{ "id": "http://some.site.somewhere/entry-schema#", "$schema": "https://json-schema.org/draft/2020-12/json-schema-core", "type": "object", "required": [ "options" ], "properties": { "options": { "type": "array", "description": "Interesting details: Fresh New Awesome", "minItems": 1, "items": { "type": "string" }, "uniqueItems": true }, "readonly": { "type": "boolean" } } }

然后, 快速文档 弹窗将如下所示:

description 属性的 JSON 架构定义文档中无格式化

要获得具有丰富 HTML 标记的美观文档说明,请将 HTML 描述存储在 x-intellij-html-description 扩展属性中,而不是 description

{ "id": "http://some.site.somewhere/entry-schema#", "$schema": "https://json-schema.org/draft/2020-12/json-schema-core", "type": "object", "required": [ "options" ], "properties": { "options": { "type": "array", "x-intellij-html-description": "<p><b>Interesting</b> <i>details:</i></p>\n <ul><li>Fresh</li><li>New</li><li>Awesome</li></ul>\n <div style='background-color: #fff77c'>Choose schema with HTML description =)</div>", "minItems": 1, "items": { "type": "string" }, "uniqueItems": true }, "readonly": { "type": "boolean" } } }

此时 快速文档 弹窗显示如下:

x-intellij-html-description 属性的 JSON 架构定义文档中包含 HTML 描述

配置语法高亮

您可以根据自己的偏好和习惯配置 JSON 感知型语法高亮。

  1. 设置 对话框(Ctrl+Alt+S )中,转到 编辑器|配色方案|JSON

  2. 选择配色方案,接受从默认设置继承的高亮设置,或按照 颜色与字体 中所述自定义设置。

技巧建议

为空的 struct 生成字段

如果您有一个空的 struct ,可以根据 JSON 生成所有必要的字段和标记。 为此,请使用 跳转到操作 搜索调用 从JSON 生成 Go 类型 对话框,并将 JSON 粘贴到文本字段中。 或者,您可以转到 代码| 生成… ,并在弹窗中选择 JSON 中的类型

    最后修改日期: 2025年 9月 26日