Как отсортировать ответ в Ready API, используя groovy в порядке возрастания и убывания - PullRequest
0 голосов
/ 02 ноября 2018

Я просмотрел различные статьи, но не нашел простого способа сортировки ответа API в порядке возрастания или убывания с помощью groovy. Может кто-нибудь помочь с этим?

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 голосов
/ 02 ноября 2018

Есть много способов. Например:

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))
...