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

Postman测试中如何正确获取请求JSON数据用于响应对比?

Postman测试中获取请求体JSON数据的正确方法

你的请求体JSON是:

{
    "key_outer": {
         "key_inner": "value"
    }
}

你能正常通过pm.response.json()获取响应的JSON数据,但获取请求体时全部报错,核心问题是你误用了响应对象pm.response来获取请求数据,而且请求体的解析方式和响应略有不同。

你之前的错误点:

  • 所有尝试的代码都在操作pm.response(这是处理接口响应的对象),但请求体数据存在pm.request对象里,这是最根本的错误。
  • pm.request没有像pm.response那样直接的.json()方法,不能直接调用.json()解析请求体。

正确的获取请求体JSON的代码:

// 1. 获取请求体的原始文本,再解析为JSON对象
var requestBody = JSON.parse(pm.request.body.raw);
// 2. 访问请求体中的目标字段
var requestInnerValue = requestBody.key_outer.key_inner;

// 同时获取响应的对应字段(你原来的正确写法)
var responseBody = pm.response.json();
var responseInnerValue = responseBody.key_outer.key_inner;

// 执行对比测试
pm.test("请求与响应的key_inner值一致", function () {
    pm.expect(requestInnerValue).to.eql(responseInnerValue);
});

补充说明:

如果你的请求体是通过Postman的表单、form-data等其他格式发送的,需要对应调整获取方式,但你这里是JSON格式,用pm.request.body.raw拿到原始JSON文本后解析即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:31:09