GraphQL 查询格式化工具
格式化(美化缩进)与压缩(单行化)GraphQL query/mutation/subscription,基于括号栈匹配做粗略语法校验,非完整AST解析器。
免费在线工具
Loading…
使用说明
- 在输入框中粘贴 GraphQL query/mutation/subscription 文本。
- 点击「格式化(美化缩进)」按统一的缩进规则重新排版:每个选择集字段独立成行,参数列表保持在同一行,指令附着在所属字段后。
- 点击「压缩(单行化)」去除注释与多余空白,把查询压缩为单行文本,便于粘贴到日志或网络请求中。
- 点击「仅检查语法」单独触发括号闭合校验,不改变输出内容。
- 校验结果区域会显示花括号/圆括号/方括号是否配对闭合、字符串是否闭合,发现问题会给出行号提示。
- 点击「用输出替换输入」可以把格式化/压缩结果继续作为下一次操作的输入;点击「加载示例查询」体验一个包含变量、片段、指令的完整示例。
功能介绍
- 格式化:把 GraphQL 查询按选择集层级重新缩进排版,参数列表 (...) 保持在同一行,指令(如 @include)附着在所属字段后,片段引用(... FragmentName / ... on Type)独立成行。
- 压缩:去除注释和多余空白,将查询压缩为单行文本,仅在必要处保留一个空格以避免相邻标识符被误合并。
- 语法校验:基于括号栈匹配检查 {}()[] 是否配对闭合、字符串是否正常闭合,发现问题会提示具体行号。
- 诚实说明校验范围:这不是完整的 GraphQL 语法/语义解析器,无法发现字段拼写错误、变量未声明、类型不匹配等深层问题,仅做结构性的括号闭合检查。
- 纯本地处理,不上传查询内容。
使用场景
从浏览器 DevTools 复制的压缩查询还原可读格式
从 Network 面板复制到的单行 GraphQL 请求体,粘贴进工具一键格式化为可读的缩进结构,便于调试排查。
提交前压缩查询体积
把开发时写的多行 GraphQL 查询压缩为单行,减少请求体积,粘贴进接口测试工具或日志记录中。
Code Review 中统一查询风格
团队成员提交的 GraphQL 查询缩进风格不一致时,统一用本工具格式化后再提交,保持代码风格一致。
快速排查括号未闭合问题
手写复杂嵌套查询时容易漏写右括号,用「仅检查语法」快速定位是哪一行的括号没有闭合。
常见问题
支持完整的 GraphQL 语法校验吗?
不支持。本工具基于括号栈匹配和简单 token 扫描实现,只能检测 {}()[] 是否配对闭合、字符串是否闭合,无法发现字段拼写错误、变量未声明、类型不匹配等语义问题,不是完整的 GraphQL AST 解析器。
格式化后的缩进规则是什么?
每个选择集内的字段独立成行并按层级缩进两个空格;参数列表 (...)、变量定义列表保持在同一行不换行;指令(如 @include(if: $x))附着在所属字段的同一行;片段展开(...Frag)与内联片段(... on Type)各自独立成行。
压缩后还能正常使用吗?
可以,压缩只是去除注释和多余空白,保留了语法上必要的单个空格(用于分隔两个相邻的标识符),不会改变查询的语义。
输入的查询语法有错误会怎样?
校验结果区域会提示具体是哪一行的括号未闭合或不匹配;格式化功能仍会尽力输出结果(best-effort),但不保证语法有误时的格式化结果完全正确,建议先修正语法错误再格式化。