【问题标题】:How to extract value from json response in postman, whose key has '.' in it如何从邮递员中的 json 响应中提取值,其键具有“。”在里面
【发布时间】:2018-03-26 10:14:52
【问题描述】:

从邮递员说的 json 响应中获取键的值非常简单:

pm.test("AddCluster", function () {
    var jsonData = pm.response.json();
    pm.globals.set("taskIdCluster", jsonData.value);    
});

对于 JSON 响应

{
    "value": "task-1405"
}

在以下键具有“。”的情况下,我无法提取 json 值。作为其字符串的一部分。任何人都可以帮我解决这个问题。

"result": {
        "cluster.moid": "domain-c433242"
    }

我尝试了以下代码:

pm.test("abc", function () {
    var jsonData = pm.response.json();
    var result = jsonData.result;
    var moid = result.'cluster.moid' ;
    pm.environment.set("clusterMoid", moid);
});

【问题讨论】:

  • 你试过 var moid = result.'cluster.moid' 吗?
  • 感谢 Joly 成功了!
  • 太棒了!我建议您编辑和升级您的答案,以便所有社区都可以从中受益,谢谢!
  • @A.Joly : :) :)

标签: json response postman


【解决方案1】:

可以为上述情况提取值,下面的代码有效

pm.test("StatusForAddClusterApplyCheck", function () {
    var jsonData = pm.response.json();
    var result = jsonData.result;
    var jsonString = JSON.stringify(result).substring(17,31);
    pm.environment.set("clusterMoid", jsonString);
});

但前提是字符串长度是常数。

如果字符串长度是动态的,还有其他答案吗?

【讨论】:

    【解决方案2】:

    在 javascript(以及邮递员)中,可以使用 '.' 访问对象属性。运算符或使用 [] 进行关联数组索引。 JSON 对象也是如此。

    即。 object.key 等价于 object["key"]

    这应该可以为您解决问题:

    pm.test("AddCluster", function () {
        var jsonData = pm.response.json();
        pm.globals.set("taskIdCluster", jsonData["cluster.moid"]);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-27
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-22
      • 2017-08-24
      • 2020-01-27
      相关资源
      最近更新 更多