Comment puis-je convertir cette variable String
en List
?
def ids = "[10, 1, 9]"
J'ai essayé avec: as List
et toList();
def l = Eval.me(ids)
Prend la chaîne de code groovy (dans ce cas "[10,1,9]") et l'évalue comme groovy. Cela vous donnera une liste de 3 pouces.
def l = ids.split(',').collect{it as int}
Utilisez la fonction intégrée JsonSlurper !
L'utilisation de Eval
n'est pas la meilleure solution dans la plupart des cas et la solution de manipulation de chaîne échouera une fois que le type de données aura été modifié et ne sera donc pas adaptable. Il est donc préférable d'utiliser JsonSlurper .
import groovy.json.JsonSlurper
def ids = "[10, 1, 9]"
def idList = new JsonSlurper().parseText(ids)
assert 10 == idList[0]
Cela fonctionne pour moi. Et Eval.me
ne fonctionnera pas dans le script groovy de Jenkins. J'ai essayé.
assert "[a,b,c]".tokenize(',[]') == [a,b,c]