我在没有账户的情况下使用Postman,我所有的收藏都保存在本地。今天,我的Postman更新了,不再允许这样做,只留下一个不能使用集合的“轻量级”客户端。我只能导出一个JSON转储“备份”文件,但不能导出一个实际的Collection V2文件,我需要将其导入到我将用于替换Postman的工具中。如何(使用工具或手动)将JSON转储转换为Collection文件?请注意:创建一个 Postman 帐户不是一个选项。我正在寻找一个解决方案,不需要我创建一个帐户。
cx6n0qe31#
我遇到了同样的问题:备份转储文件似乎包含postman版本1中的集合,在字段"collections"中:如果你只需要收藏(即而不是全局环境等),您可以将"collections"中的每个条目存储到一个单独的文件中,这将导致v1的集合。如果你需要v2集合,你可以转换它们,例如。使用npm软件包postman-collection-transformer(用于Node.js)例如,下面是一个基于postman-collection-transformer的README的简单转换脚本用适当的字符串替换<postman_backup_dump.json>和<output-directory>;如果集合的名称不能用作文件名,则在创建输出文件名时需要进行一些额外的更改
"collections"
v1
v2
npm
postman-collection-transformer
<postman_backup_dump.json>
<output-directory>
var transformer = require('postman-collection-transformer'), fs = require('fs'), path = require('path'); var collection = require('<postman_backup_dump.json>'); var options = { inputVersion: '1.0.0', outputVersion: '2.0.0', retainIds: true // the transformer strips request-ids etc by default. }; var outDir = '<output-directory>'; collection.collections.forEach(function(coll){ transformer.convert(coll, options, function (error, result) { if (error) { return console.error(error); } var content = JSON.stringify(result, null, 2); var index = 0; var name = result.info.name + '.json'; while(fs.existsSync(path.resolve(outDir, name))){ name = result.info.name + '_' + (++index) + '.json'; } fs.writeFileSync(path.resolve(outDir, name), content, 'utf-8'); }); });
1条答案
按热度按时间cx6n0qe31#
我遇到了同样的问题:
备份转储文件似乎包含postman版本1中的集合,在字段
"collections"
中:如果你只需要收藏(即而不是全局环境等),您可以将
"collections"
中的每个条目存储到一个单独的文件中,这将导致v1
的集合。如果你需要
v2
集合,你可以转换它们,例如。使用npm
软件包postman-collection-transformer(用于Node.js)例如,下面是一个基于
postman-collection-transformer
的README的简单转换脚本用适当的字符串替换
<postman_backup_dump.json>
和<output-directory>
;如果集合的名称不能用作文件名,则在创建输出文件名时需要进行一些额外的更改