Come posso convertire questa variabile String
in un List
?Converti variabile stringa in un elenco [Groovy]
def ids = "[10, 1, 9]"
ho provato con: come List
e toList();
Come posso convertire questa variabile String
in un List
?Converti variabile stringa in un elenco [Groovy]
def ids = "[10, 1, 9]"
ho provato con: come List
e toList();
def l = Eval.me(ids)
prende la stringa di codice scanalato (in questo caso "[10,1,9]") e valuta come scanalato . Questo ti darà una lista di 3 ints.
http://www.jameswiseman.com/blog/2011/01/18/jslint-messages-eval-is-evil/ –
def l = ids.split(',').collect{it as int}
penso che si vuole fare una stringa "10,1,9" in una lista [10,1,9] –
def id = ids.substring (1, ids.length() - 1) def l = id.split (','). Collect { it int it – user2068981
Trovo questa soluzione ma non penso sia la migliore: def id = ids.substring (1, ids.length() - 1) def l = id.split (','). Collect {it as int} – user2068981
Utilizzare JsonSlurper!
Using Eval
is not the best solution in most cases e la soluzione di manipolazione delle stringhe fallirà una volta che il tipo di dati è cambiato, quindi non è adattabile. Quindi è meglio usare JsonSlurper.
import groovy.json.JsonSlurper
def ids = "[10, 1, 9]"
def idList = new JsonSlurper().parseText(ids)
assert 10 == idList[0]
È già un elenco in Groovy? –
Questo è un 'Elenco' vuoi convertirlo in' String'? – Reimeus
Ma quando faccio ids.each {println it} ho questo risultato: [ , ] – user2068981