将字符串变量转换为列表[Groovy]

rdlzhqv9  于 2022-11-01  发布在  其他
关注(0)|答案(4)|浏览(1202)

如何将此String变量转换为List

def ids = "[10, 1, 9]"

我试探着:作为ListtoList();

rqmkfv5c

rqmkfv5c1#

def l = Eval.me(ids)

取groovy代码的字符串(在本例中为“[10,1,9]”),并将其计算为groovy。这将给予你一个包含3个int的列表。

i7uaboj4

i7uaboj42#

def l = ids.split(',').collect{it as int}
c0vxltue

c0vxltue3#

使用内建的JsonSlurper

Using Eval could beriskyas it executes any code,字符串操作解决方案一旦改变数据类型就会失败,因此不具有适应性,所以最好使用JsonSlurper

import groovy.json.JsonSlurper

//List of ints 
def ids = "[10, 1, 9]"
def idList = new JsonSlurper().parseText(ids)

assert 10 == idList[0]

//List of strings 
def ids = '["10", "1", "9"]'
idList = new JsonSlurper().parseText(ids)

assert '10' == idList[0]
sh7euo9m

sh7euo9m4#

这对我来说确实有效。而且Eval.me在Jenkins groovy脚本中不起作用。我已经试过了。

assert "[a,b,c]".tokenize(',[]') == [a,b,c]

相关问题