我正在尝试从Groovy中的JSON数组中获取ID列表。我知道如何使用常规FOR循环获取ID,但我想知道如何使用每个方法执行相同的操作。我不确定如何实现它。有谁有想法吗? 先感谢您。这是我的代码使用常规for循环正常工作。不过我想用每个方法来做。
import groovy.json.*
def restresponse = '[{"id":5, "name":"Bob"},{"id":8, "name":"John"},{"id":12, "name":"Jim"},{"id":20, "name":"Sally"}]'
def json = new JsonSlurper().parseText(restresponse)
def myListOfIDs = []
for (int i = 0; i < json.size; i++) {
myListOfIDs.add(json[i].id) // getting all ID's for each SourceSystem
}
log.info(myListOfIDs) // This prints out all this IDs
答案 0 :(得分:4)
执行此“转换”的最短方法是使用Groovy的Collection collect
方法,例如:
def myListOfIDs = json.collect { ele -> ele.id }
编辑:正如@dmahapatro指出的那样,可能性更小:
def myListOfIDs = json*.id