如何使用Groovy按升序和降序对Ready API中的响应进行排序

时间:2018-11-02 06:02:33

标签: groovy automation ready-api

我浏览了多篇文章,但没有找到任何简单的方法来使用groovy对API响应进行升序或降序排序。有人可以帮忙吗?

import groovy.json.JsonSlurper

def inputJson = '''{
   "status" : "success",
   "locale" : "",
   "data" : {
      "periods" : [
         {
            "payCycleId" : "custompayperiod",
            "sequence" : 1,
            "cycleStartDate" : "2018-10-01",
            "cycleEndDate" : "2018-10-08"
         },
         {
            "payCycleId" : "custompayperiod",
            "sequence" : 2,
            "cycleStartDate" : "2018-10-09",
            "cycleEndDate" : "2018-10-16"
         }
      ]
   }
}

想根据顺序对以上响应进行排序。

1 个答案:

答案 0 :(得分:0)

有很多方法。 例如:

def json = new JsonSlurper().parseText(inputJson)
//Descending
json.data.periods = json.data.periods.toSorted { a, b -> b.sequence <=> a.sequence }
//Ascending
//json.data.periods = json.data.periods.toSorted { a, b -> a.sequence <=> b.sequence }
String output = JsonOutput.prettyPrint(JsonOutput.toJson(json))