piapia123
zh

Postman 集合互转

网络

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

三个方向,围绕同一份「请求清单」:一串 URL 变成 Postman 集合(每行一个地址,可以写成「POST https://…」指定方法,Postman 的 `{{baseUrl}}` 变量写法也认);一段请求 JSON 变成集合(接口清单常常是自家文档或代码里的常量表,形状是一组请求,而不是 Postman 那套嵌套结构);一份集合摊平成请求 JSON(看别人发来的集合里究竟有哪些请求、都打到哪些域名,对着层层嵌套的 folder 逐个点是很痛苦的事)。后两个方向互为逆运算 —— 集合导出的 JSON 可以原样再转回集合,你可以拿它验证任何一次转换。

功能

  • 三个方向:URL 列表转集合、请求 JSON 转集合、集合摊平成请求 JSON
  • URL 列表支持每行一个地址,或写成「METHOD URL」指定请求方法
  • 支持 Postman 的 {{变量}} 写法,可以把带变量的接口骨架一次补出来
  • 集合转 JSON 会递归摊平多层 folder —— 不递归的话分组过的集合导出来会是空的
  • 往返可逆:集合导出的 JSON 可以原样再转回集合
  • 请求体自动写成 raw 文本并补上 Content-Type,导入后直接能发
  • 请求方法认 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS,认不出的退回 GET 而不是生成 Postman 打不开的方法名
  • 不是 JSON 的请求体(XML、表单文本)原样保留,不丢信息
  • 一次最多 200 个请求
  • 全部在浏览器本地完成,接口地址与令牌不外传

使用方法

  1. 选转换方向
  2. 把 URL 列表、请求 JSON 或 Postman 集合粘进输入框
  3. 复制结果:转成集合时存成 .json,在 Postman 里 File → Import 导进去

常见问题

「互转」具体是哪三个方向?
URL 列表 → 集合、请求 JSON → 集合、集合 → 请求 JSON。之所以不是两两互转,是因为中间那两个方向共用同一份「请求清单」格式:集合转出来的 JSON,就是请求 JSON 转集合要吃的那份输入。这样你随时可以用「导出再导入」校验一次转换有没有丢东西,而不是只能信它。
导入 Postman 后请求体为什么都是 raw?
因为纯文本里没法可靠地表达 Postman 的 form-data 与 x-www-form-urlencoded —— 前者还牵扯文件字段,那是 JSON 表示不了的。接口调试里绝大多数请求体本来就是 JSON,所以统一按 raw 生成,需要换模式时在 Postman 里改一下即可。想让它开箱即用,JSON 就写成对象(工具会格式化好并补上 Content-Type),想手写原文就直接给字符串。
为什么导出来的清单里没有文件夹?
因为这一方向的用途就是「看清楚有哪些请求」,而文件夹是组织方式,不是请求本身。Postman 的 folder 结构上是「带 item 的 item」,能套很多层 —— 不递归摊平的话,一个分了组的集合导出来会是空的,而那看起来像「这个集合里没有请求」,比少一层分组糟得多。
集合里的 {{baseUrl}} 这类变量怎么办?
原样保留在地址里,不会被替换成任何值。Postman 的变量在导入后由集合自己的变量表或环境决定,替它填一个值只会把集合改坏。URL 列表那一侧也接受同样写法,所以你可以直接把一份带变量的接口骨架补齐。
接口地址和令牌会被上传吗?
不会。三个方向的转换全在浏览器内存里完成,页面不发送任何请求,断网也能用 —— 请求头里常带着 Authorization 令牌,它们不会离开这台设备。

相关工具