如何使用每种方法在groovy中从JSON数组中获取ID?

时间:2016-10-29 20:18:58

标签: arrays json groovy

我正在尝试从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

1 个答案:

答案 0 :(得分:4)

执行此“转换”的最短方法是使用Groovy的Collection collect方法,例如:

def myListOfIDs = json.collect { ele -> ele.id }

编辑:正如@dmahapatro指出的那样,可能性更小:

def myListOfIDs = json*.id