【问题标题】:Postman test save variable from JSON response body来自 JSON 响应正文的 Postman 测试保存变量
【发布时间】:2020-08-25 16:41:38
【问题描述】:

我有这样的 json 响应正文

{
    "header": {
        "process_time": "27.842975",
        "server_time": "",
        "reason": "",
        "error_code": 0,
        "status_code": 200
    },
    "data": {
        "idx": "2",
        "component": {
            "id": 123,
            "name": "product",
            "properties": {
                "button_notification": false
            },
            "title": "",
            "data": [
                {
                  "status": 4,
                    "product_id": 1112323,
                    "stock": 21
                },
                {
                  "status": 4,
                    "product_id": 1114322,
                    "stock": 13
                },
                {
                    "status": 4,
                    "stock": 8,
                    "product_id": 1115342
                },
                {
                    "stock": 5,
                    "status": 4,
                    "product_id": 1115234
                },
                {
                    "stock": 5,
                    "status": 4,
                    "product_id": 1115442
                }
            ]
        }
    },
    "errors": []
}

我想保存两个product_id 值,它们的两个股票比其他的多

这是我的代码

var jsonData = JSON.parse(responseBody);
let productId-1 = jsonData.data.component.data[2].product_id
let productId-2 = jsonData.data.component.data[3].product_id
pm.environment.set("productId-1",productId-1)
pm.environment.set("productId-2",productId-2)

【问题讨论】:

    标签: postman


    【解决方案1】:

    解决您的问题的最简单方法是实施冒泡排序来查找库存最多的产品。

    
    let arr = jsonData.data.component.data; 
    for(let i = 0; i < arr.length - 1; i++){
        for(let j = 0; j < arr.length - 1 - i; j++){
            if (arr[j].stock < arr[j+1].stock) { 
                let temp = arr[j]; 
                arr[j] = arr[j+1]; 
                arr[j+1] = temp; 
            } 
        } 
    } 
    pm.environment.set("productId-1", arr[0]); //product with most stock
    pm.environment.set("productId-2", arr[1]); //product with second most stock
    

    【讨论】:

      猜你喜欢
      • 2022-10-25
      • 2020-12-16
      • 2020-12-03
      • 2019-02-23
      • 1970-01-01
      • 2018-09-10
      • 2021-06-22
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多