【问题标题】:Ignore Hyphen in Javascript (Postman)忽略 Javascript 中的连字符(邮递员)
【发布时间】:2020-03-12 13:35:00
【问题描述】:

使用 Postman 构建 RestAPI。

我有一些 JSON 数据:

{
    "progress-update": {
        "@type": "parallel-progress",
        "job": {
            "@href": "/api/space/job-management/jobs/4691268"
        },
        "taskId": 4691268,
        "jobName": "Compare Config-4691268",
        "state": "DONE",
        "status": "SUCCESS",
        "percentage": 100,
        "data": "<![CDATA[Total requests: 3<br>InSync count : 3<br>OutOfSync count : 0<br>]]>",
        "subTask": [
            {

我想将“状态”值提取到一个环境变量中,然后我可以使用它来确定是继续下一个请求还是等到状态为 DONE。

我遇到的问题是“progress-update”:其中有一个连字符,导致我的脚本无法识别它。

var jsonData = JSON.parse(responseBody);
pm.environment.set("JobStatus", jsonData.progress-update.state);

邮递员返回以下错误:

评估测试脚本时出错:ReferenceError: 更新未定义

【问题讨论】:

标签: javascript json api variables postman


【解决方案1】:

您应该能够使用

访问您的 JSON 数据
var jsonData = JSON.parse(responseBody);
pm.environment.set("JobStatus", jsonData['progress-update'].state);

使用对象括号表示法

【讨论】:

  • 非常感谢。我知道它会像那样简单。
  • 我还建议使用 pm.response.json() 而不是 JSON.parse(responseBody) 的旧语法。将使其与您正在使用的新 pm.environment.set() 一致。 ?
猜你喜欢
  • 1970-01-01
  • 2012-08-08
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 2016-03-17
  • 2023-03-04
相关资源
最近更新 更多