IntelliJ IDEA 2025.1 Help

JSON

JSON 格式通常用于存储数据和配置文件。 IntelliJ IDEA 帮助您处理 JSON 文件 — 它检查其语法和格式。 在流行的配置文件类型中,IntelliJ IDEA 基于 JSON Schema 验证代码并提供代码补全,JSON Schema 是一种描述此类文件结构和内容的特殊格式。

IntelliJ IDEA 附带了一组 已注册 的模式,适用于大多数流行的格式。 您还可以 使用来自 JSON Schema Store 的模式自定义 JSON 模式

捆绑的模式和来自 Schema Store 的模式

启用 JSON5

IntelliJ IDEA 识别许多流行的 JSON 标准,包括 JSON5。 IntelliJ IDEA 默认会将具有 json5 扩展名的文件视为 JSON5 文件,并在其中支持这种新语法。

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

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

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

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

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

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

使用来自 JSON Schema Store 的模式

IntelliJ IDEA 可以自动下载并使用 JSON Schema Store 中的架构,该平台托管许多最受欢迎的配置文件的架构文件。 当您打开一个与可用架构之一关联的文件(例如, tsconfig.json )时,IntelliJ IDEA 将下载并使用此架构。 应用架构的名称显示在状态栏上。

从 JSON Schema Store 下载的 JSON 模式,应用的模式名称显示在状态栏

如果您的配置文件有一个自定义名称,或者您正在处理一个 临时文件 ,请点击状态栏上的 无 JSON schema 并从列表中选择所需的模式。 IntelliJ IDEA 将当前文件与所选模式关联,并将此模式映射添加到 JSON Schema 映射 页面上的列表中。

或者,点击 新的 Schema Mapping 打开 JSON Schema 映射 页面并 配置一个新的模式关联

当前文件没有 JSON 模式

默认情况下,JSON Schema Store 的模式自动下载功能处于启用状态。 如果它被关闭,您可以随时重新启用。

自动从 JSON Schema Store 下载模式

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

  2. 请选中 允许从远程源下载 JSON schemas使用 schemastore.org JSON Schema 目录 复选框。

IntelliJ IDEA 捆绑了许多最受欢迎的的模式。 虽然这些模式会定期自动更新,但它们仍可能过时。

使用最新版本的内置模式

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

  2. 请选择 始终下载最新版本的模式 复选框。

使用自定义 JSON 模式

除了捆绑的已注册模式和 来自 JSON Schema Store 的模式 ,IntelliJ IDEA 还允许您创建自己的模式或使用来自其他存储的自定义模式。 您可以创建或下载所需的模式,并将其存储在项目根目录下,或者指定资源的 URL,以便 IntelliJ IDEA 可以自动下载该模式。

自定义架构必须符合 JSON 架构标准。 目前,IntelliJ IDEA 支持 2020-12 及更早版本的模式。

自定义模式符合 2020-12 标准

创建自定义 JSON 模式关联

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

    或者,点击状态栏上的 无 JSON 架构 ,然后选择 新的 Schema Mapping。 在这种情况下,IntelliJ IDEA 会自动将文件包含在 关联的文件、文件夹和模式列表 中。

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

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

    指定一个模式文件
  4. 指定您的模式符合的 模式规范版本

    选择模式版本
  5. 创建要根据此 Schema 验证的文件或文件夹列表。 根据列表,IntelliJ IDEA 内部检测要验证的文件。

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

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

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

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

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

    向范围中添加一个项目

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

    指定文件模式

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

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

  2. 请选择 允许从远程源下载 JSON schemas

    当该复选框被清除时,关于 JSON Schemas 的任何网络活动,包括来自 JSON Schema Store 的架构,将被禁用。

禁用 JSON 模式

  • 要为文件禁用模式,请点击状态栏上的 JSON 架构 小部件,然后从弹出列表中选择 忽略文件的 JSON 架构

    忽略当前文件的模式

    或者,选择 编辑架构映射编辑模式的范围。 例如,您可以编辑适当的模式或从列表中删除文件(如果文件名已明确指定)。

    最后,您可以选择 新的 Schema Mapping 并配置模式关联, 如上所述

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

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

处理模式范围之间的冲突

如果文件、文件夹或模式属于两个或多个模式的范围,IntelliJ IDEA 会检测到此冲突,并在编辑器和 JSON Schema 映射 页面上的 设置 对话框中显示警告。

在编辑器中,当您打开属于多个范围的文件时,会显示警告。

编辑器中关于模式范围冲突的通知

JSON Schema 映射 页面上的 设置 对话框中,当多个映射的范围重叠时,会显示警告。

设置对话框中关于模式范围冲突的通知

在 JSON 模式中使用 HTML 描述

默认情况下,IntelliJ IDEA 会在文档弹出窗口中显示 JSON schema 定义的文档时转义 HTML 字符。

假设您的模式使用了 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 schema 定义的格式化

要获得带有丰富 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 schema 定义时的 HTML 描述

配置语法高亮

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

  1. 设置 对话框(Ctrl+Alt+S )中,前往 编辑器 | 颜色方案 | JSON

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

最后修改日期: 2025年 4月 24日