在Postman中如何将纯ID格式的响应正文存入变量
Postman 存储纯字符串UUID响应到变量的解决方案
你之前的两种写法失效主要对应两种常见原因:
- 调用
pm.response.json()失效:通常是因为接口返回的单独字符串不符合JSON格式要求,或是接口返回的Content-Type与实际内容不匹配,导致JSON解析器直接抛出异常 - 调用
pm.response.text()未生效:通常是没有对返回内容做首尾多余字符处理、代码拼写错误,或是没有正确调用Postman的变量赋值方法
完整可用代码
根据你返回的内容格式选择对应方案即可:
场景1:响应内容带双引号包裹(实际返回体为"3707ff3d-2af9-4ea1-a6aa-08d9a8ee3cb3",包含引号)
// 提取纯文本响应 var responseBody = pm.response.text(); // 去除首尾双引号、多余空格/换行符 var targetUuid = responseBody.replace(/^"|"$/g, '').trim(); // 存入环境变量,如需存全局变量替换为pm.globals.set即可 pm.environment.set("request_uuid", targetUuid);
场景2:响应内容无包裹引号(直接返回3707ff3d-2af9-4ea1-a6aa-08d9a8ee3cb3,无引号)
// 直接提取文本并去除首尾多余字符后存变量 var targetUuid = pm.response.text().trim(); pm.environment.set("request_uuid", targetUuid);
排查建议
- 检查代码拼写是否正确,你之前代码里的变量名
resposseBody为拼写错误,正确拼写为responseBody,拼写错误也会导致逻辑不生效 - 先在Postman响应面板的「Body」tab确认实际返回内容是否存在多余换行、空格、不可见字符,
trim()方法可处理大部分首尾多余字符的问题 - 如果仍无法正常取值,可先执行
console.log(pm.response.text()),点开Postman左下角的「Console」面板查看实际拿到的响应文本,再对应做字符处理即可
内容的提问来源于stack exchange,提问作者Adam Arelsen
相关产品推荐
相关产品推荐

