You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Postman中根据最大CreatedDate获取对应ExperimentId

问题:在Postman中获取CreatedDate最新的ExperimentId

我有如下JSON响应体:

[
    {
        "ExperimentPlanningId": 20,
        "ExperimentId": "PT1011",
        "AnalystId": 2,
        "ExperimentTemplateId": 1,
        "NumberoFPools": null,
        "ExperimentStatus": "InProgress",
        "NextProcess": "234343",
        "CurrentProcess": "Test Process 1",
        "NextStage": "Stage 1 2",
        "CurrentStage": "Stage 1 2",
        "NextProcessStartDate": "2022-10-15T14:00:00+00:00",
        "CurrentProcessEndDate": "2022-10-15T14:00:00+00:00",
        "ExperimentStartDate": "2022-10-14T15:00:00+00:00",
        "ProjectedOutcome": null,
        "ExperimentalDesign": null,
        "IsActive": true,
        "CreatedDate": "2022-10-14T20:10:42.8276862+00:00"
        
    },
    {
        "ExperimentPlanningId": 20,
        "ExperimentId": "JD2994",
        "AnalystId": 2,
        "ExperimentTemplateId": 1,
        "NumberoFPools": null,
        "ExperimentStatus": "InProgress",
        "NextProcess": "234343",
        "CurrentProcess": "Test Process 1",
        "NextStage": "Stage 1 2",
        "CurrentStage": "Stage 1 2",
        "NextProcessStartDate": "2022-10-15T14:00:00+00:00",
        "CurrentProcessEndDate": "2022-10-15T14:00:00+00:00",
        "ExperimentStartDate": "2022-10-14T15:00:00+00:00",
        "ProjectedOutcome": null,
        "ExperimentalDesign": null,
        "IsActive": true,
        "CreatedDate": "2023-03-31T16:23:19.5981913+00:00"
    }
]

需求:遍历响应体,找到CreatedDate最大的条目,将其ExperimentId存入Postman变量(示例中应为JD2994)。

尝试的代码(报错max未定义):

var jsonData = JSON.parse(responseBody)

for (var i=0, len = jsonData.length; i<len; i++) {
  var value = max(jsonData[i]["CreatedDate"]);
}

错误原因

  1. JavaScript中不存在全局的max()函数,你可能混淆了Math.max(),但该函数需要传入多个数值参数,无法直接处理日期字符串。
  2. 代码逻辑缺失:没有维护全局的最大值变量,仅单独处理每个条目,未做比较更新。

正确实现代码

// 解析响应体为JSON数组
const jsonData = JSON.parse(responseBody);

// 初始化变量,存储最大日期和对应实验ID
let maxDate = null;
let latestExperimentId = "";

// 遍历所有实验条目
jsonData.forEach(item => {
    // 将日期字符串转为Date对象,方便比较
    const currentDate = new Date(item.CreatedDate);
    // 首次遍历或当前日期更大时,更新最大值和对应ID
    if (!maxDate || currentDate > maxDate) {
        maxDate = currentDate;
        latestExperimentId = item.ExperimentId;
    }
});

// 将结果存入环境变量(如需全局变量,替换为pm.globals.set)
pm.environment.set("latestExperimentId", latestExperimentId);

代码说明

  • 把日期字符串转为Date对象后,可以直接用比较运算符判断先后。
  • 通过遍历逐一比较,始终保留最新的日期和对应的ExperimentId。
  • 最后使用Postman的API将结果存入变量,后续请求可直接调用。

内容的提问来源于stack exchange,提问作者JD2775

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:45:33