Groovy предоставляет класс JsonSlurper
, который упрощает анализ документов JSON.Рассмотрим следующий пример, который читает документ JSON как String
(он также поддерживает различные методы инициализации):
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"
}
]
}
}'''
def json = new JsonSlurper().parseText(inputJson)
assert json.data.periods.find { it.sequence == 1 }.cycleStartDate == '2018-10-01'
После загрузки документа JSON вы можете извлекать данные, используя вложенные поля.Например, json.data.periods
дает вам доступ к массиву, хранящемуся в вашем документе JSON.Затем метод find { it.sequence == 1 }
возвращает узел из этого массива, где поле sequence
равно 1
.И, наконец, вы можете извлечь cycleStartDate
и сравнить его с ожидаемой датой.
Более полезные примеры можно найти в Официальной документации Groovy .