Postman Tests标签中遍历含空格键名数组获取最新Reference值
在Postman Tests中遍历含空格键名的数组并获取最新Reference值
由于数组的键名包含空格,无法直接使用.语法访问,需要用方括号[]来读取这个数组。下面提供两种实现方式:
方法一:直接取数组最后一个元素(适用于数组已按Order升序排列的场景)
如果返回的OOSE revisions数组已经按Order从小到大排列,直接取最后一个元素即可拿到最新的记录:
// 解析响应为JSON对象 const responseJson = pm.response.json(); // 通过方括号访问带空格的键名,获取数组 const ooseRevisions = responseJson["OOSE revisions"]; // 确保数组不为空时处理 if (ooseRevisions.length > 0) { // 取数组最后一个元素 const latestItem = ooseRevisions[ooseRevisions.length - 1]; // 兼容第一个元素的键是EntityReference的情况 const latestReference = latestItem.Reference || latestItem.EntityReference; // 打印结果到控制台 console.log("最新Reference值:", latestReference); // 可选:将值存入环境变量,方便后续请求使用 pm.environment.set("latestReference", latestReference); }
方法二:按Order排序后取最新记录(更严谨,适用于数组顺序不确定的场景)
如果数组的顺序不固定,可通过Order字段的数值大小排序,取Order最大的元素:
// 解析响应为JSON对象 const responseJson = pm.response.json(); const ooseRevisions = responseJson["OOSE revisions"]; if (ooseRevisions.length > 0) { // 按Order数值降序排序,Order大的排在前面 const sortedItems = ooseRevisions.sort((a, b) => parseInt(b.Order) - parseInt(a.Order)); const latestItem = sortedItems[0]; const latestReference = latestItem.Reference || latestItem.EntityReference; console.log("最新Reference值:", latestReference); pm.environment.set("latestReference", latestReference); }
说明
- 注意第一个元素的键是
EntityReference,后续元素是Reference,用||做兼容处理,避免出现取不到值的情况。 - 代码可直接粘贴到Postman的
Tests标签中执行。
内容的提问来源于stack exchange,提问作者Nitin Nair
相关产品推荐
相关产品推荐

