邮递员:将响应保存在全局变量中

时间:2018-08-01 17:32:29

标签: postman

使用PostMan,如何保存以下响应:

[
    {
        "id": "6254c754-5a97-43fd-9b48-c428b9bd69e5",
        "name": "fdsfds",
        "description": "fdzf",
        "type": 0,
        "createDate": "2018-08-01T17:49:29.071+01:00",
        "lastUpdateDate": "2018-08-01T17:49:29.071+01:00",
        "lastUpdateUser": null,
        "variables": null,
        "instructions": null
    }
]

在变量上?例如身份证?

var jsonData = pm.response.json();

console.log(jsonData.id);

pm.globals.set("variable_key", jsonData.id);

4 个答案:

答案 0 :(得分:0)

您不能直接将JS对象保存在全局变量中,但是可以使用JSON库将对象转换为字符串并保存,例如以下代码:

// create the JS Object
var obj = {
    foo: "bar",
    some_number: 91
}

// convert the obj to string and save in the globals
pm.globals.set("my_obj", JSON.stringify(obj));

// get obj from globals and parse to JS Object again
var obj_from_globals = JSON.parse(pm.globals.get("my_obj"));

// print int he console
console.log(obj_from_globals);

您应该在控制台中看到它:

enter image description here

答案 1 :(得分:0)

我认为我可以通过以下方式解决此问题:

var jsonData = pm.response.json();

for (var key in jsonData) {
if (jsonData.hasOwnProperty(key)) {
var seqDelete = jsonData[key].id;
console.log(seqDelete);
}
}
pm.globals.set("seqDelete", seqDelete);

这不是完全正确。 如果我有多维数组,则只能获得一个ID值

答案 2 :(得分:0)

根据响应设置环境变量“ authkey”

var obj = pm.response.json()["token"];
pm.environment.set("authkey", obj);

答案 3 :(得分:0)

这是我使用的回复:

{id: "myId", version: "2.0", name: "test"…}

这是我如何将响应中的 id 值设置为我的全局变量“appId”:

var requestJson = JSON.parse(request.data);
console.log(requestJson)
postman.setGlobalVariable("appId", requestJson.id);

结果:

result