【问题标题】:Difference between pm.response.json() and JSON.parse(responseBody)pm.response.json() 和 JSON.parse(responseBody) 的区别
【发布时间】:2021-04-30 05:21:09
【问题描述】:

两者的根本区别是什么

const json_response = pm.response.json()

json_response = JSON.parse(responseBody)

【问题讨论】:

  • 嗯...第二个是内置的,而另一个是邮递员自带的
  • 第一:你为什么编辑我的问题?第二:这是否意味着,第二个可以适用于任何环境,而第一个只适用于邮递员。正确吗?
  • 邮递员的.json 使用liquid-json,它本身在后台使用JSON.parse。 --- “忽略 BOM 并在解析失败时显示更详细的错误消息的 JSON 实现。”
  • 是关于pm.response 方法与JSON.parse 的问题,还是关于缺少的const
  • 让我澄清一下我的问题。我的问题是:如果我在 postman const json_response = pm.response... OR json_response = JSON.parse...中使用有什么区别...

标签: javascript json postman


【解决方案1】:

在 Postman 沙箱上下文中,JSON.parse(responseBody)pm.response.json() 做同样的事情。

pm.* API 一直没有出现在产品中,它的引入是为了涵盖用户在访问响应正文等内容时通常会采取的许多不同操作。

以前,用户会在沙盒环境中使用JSON.parse(responseBody) 来获取这些数据。

这是pm.* API 方法的完整列表,但是当您键入pm. 时,这也可以在具有自动建议功能的应用中看到

https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/

我个人建议您在应用程序中使用pm.repsonse.json() 方法。

【讨论】:

    【解决方案2】:

    正如 Danny Dainton 已经指出的那样,JSON.parse(responseBody)pm.response.json() 做同样的事情 - 他们都返回响应正文 将您的 API 请求作为 JSON 格式的字符串。

    关于第二条语句中缺少const 声明。 - 如果你 将这两个语句放在同一个文件中,那么显然你是正确的 在第二个语句中省略 const 声明。
    (否则会出现语法错误:Identifier 'json_response' has already been declared。)

    但是由于这两个语句做同样的事情,所以没有意义 他们都在同一个脚本中。 如果它们不在同一个脚本中,则需要在 第二个语句和第一个语句一样。

    【讨论】:

      猜你喜欢
      • 2014-03-26
      • 2022-01-25
      • 2014-05-08
      • 2015-06-29
      • 1970-01-01
      • 2013-06-18
      • 2017-06-10
      • 1970-01-01
      相关资源
      最近更新 更多