tengo una cadena comomejor manera de codificar esta, cadena para mapear la conversión en Groovy
def data = "session=234567893egshdjchasd&userId=12345673456&timeOut=1800000"
quiero convertirlo en un mapa
["session", 234567893egshdjchasd]
["userId", 12345673456]
["timeout", 1800000]
Ésta es la forma actual que estoy haciendo it,
def map = [:]
data.splitEachLine("&"){
it.each{ x ->
def object = x.split("=")
map.put(object[0], object[1])
}
}
Funciona, pero ¿hay una manera más eficiente?
+1 para el uso de métodos fantasiosos GDK (inyectar) y frases sofisticadas en inglés (parsimonia sintáctica) –
puede cambiar la inyección innards a token.split ('='). con {map << [(it [0]): it [1]]} si realmente odias la legibilidad ;-) –
Me gustó esta solución, hasta que descubrí que hay una función "collectEntries()" que se puede usar para construir mapas. Eso es mucho más legible que el "inyectar()", ver mi respuesta a continuación. –