PyCharm 2025.3 Help

JSON

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

PyCharm 随附一组适用于最流行格式的 已注册 架构。 您还可以 使用来自 JSON Schema Store 的架构自定义 JSON 架构

内置架构和来自 Schema Store 的架构

启用 JSON5

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

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

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

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

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

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

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

使用来自 JSON Schema Store 的架构

PyCharm 可自动从 JSON Schema Store 下载并使用架构,该站点托管了许多常用配置文件的架构文件。 只要您打开一个其名称与可用架构之一关联的文件(例如, tsconfig.json ),PyCharm 就会为其下载并使用该架构。 已应用架构的名称显示在状态栏中。

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

如果您的配置文件具有自定义名称,或者您正在处理 临时文件 ,请点击状态栏中的 无 JSON 架构 ,然后在列表中选择所需的架构。 PyCharm 会将当前文件与所选架构关联,并将此架构映射添加到 JSON 架构映射 页面上的列表中。

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

当前文件没有 JSON 架构

默认情况下,已启用从 JSON Schema Store 自动下载架构。 如果它被关闭,您可以随时再次启用。

自动从 JSON Schema Store 下载架构

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

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

PyCharm 随附多个流行的架构。 尽管这些架构会定期自动更新,但仍可能过时。

使用内置架构的最新版本

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

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

使用自定义 JSON 架构

除了内置的已注册架构和 来自 JSON Schema Store 的架构之外,PyCharm 还允许您创建自己的架构,或使用来自其他存储位置的自定义架构。 您可以创建或下载所需的架构并将其存储在项目根目录下,或指定资源的 URL,以便 PyCharm 可自动下载该架构。

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

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

创建自定义 JSON 架构关联

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

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

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

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

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

    选择架构版本
  5. 创建要根据此架构进行验证的文件或文件夹列表。 基于该列表,PyCharm 会在内部检测要验证的文件。

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

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

    • role-*/**/*.yaml 匹配所有 .yaml 文件,这些文件的名称包含 role//

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

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

    向范围添加条目

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

    指定文件模式

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

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

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

    清除此复选框后,将禁用与 JSON 架构相关的任何网络活动,包括来自 JSON Schema Store 的架构。

禁用 JSON 架构

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

    忽略当前文件的架构

    或者,选择 编辑架构映射编辑架构范围。 例如,您可以编辑相应的模式,或在显式指定了文件名的情况下将该文件从列表中移除。

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

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

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

处理架构范围之间的冲突

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

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

编辑器中架构范围冲突的通知

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

“设置”对话框中架构范围冲突的通知

在 JSON 架构中使用 HTML 描述

默认情况下,PyCharm 在文档弹出窗口中显示 JSON 架构定义的文档时会转义 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 架构定义,文档中不进行格式化

若要获得带有丰富 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. 选择配色方案,接受从默认方案继承的高亮设置,或按照 颜色与字体 中的说明进行自定义。

最后修改日期: 2025年 12月 2日