如何将Postman备份文件转换为Collection文件

axr492tv  于 2023-10-18  发布在  Postman
关注(0)|答案(1)|浏览(174)

我在没有账户的情况下使用Postman,我所有的收藏都保存在本地。今天,我的Postman更新了,不再允许这样做,只留下一个不能使用集合的“轻量级”客户端。
我只能导出一个JSON转储“备份”文件,但不能导出一个实际的Collection V2文件,我需要将其导入到我将用于替换Postman的工具中。
如何(使用工具或手动)将JSON转储转换为Collection文件?
请注意:创建一个 Postman 帐户不是一个选项。我正在寻找一个解决方案,不需要我创建一个帐户。

cx6n0qe3

cx6n0qe31#

我遇到了同样的问题:
备份转储文件似乎包含postman版本1中的集合,在字段"collections"中:
如果你只需要收藏(即而不是全局环境等),您可以将"collections"中的每个条目存储到一个单独的文件中,这将导致v1的集合。
如果你需要v2集合,你可以转换它们,例如。使用npm软件包postman-collection-transformer(用于Node.js
例如,下面是一个基于postman-collection-transformer的README的简单转换脚本
用适当的字符串替换<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');
    });
});

相关问题