У меня есть строка, какЛучший способ закодировать это, строка для отображения преобразования в Groovy
def data = "session=234567893egshdjchasd&userId=12345673456&timeOut=1800000"
Я хочу, чтобы преобразовать его в карту
["session", 234567893egshdjchasd]
["userId", 12345673456]
["timeout", 1800000]
Это текущий путь я делаю it,
def map = [:]
data.splitEachLine("&"){
it.each{ x ->
def object = x.split("=")
map.put(object[0], object[1])
}
}
Это работает, но есть ли более эффективный способ?
+1 для использования причудливых методов GDK (инжекция) и причудливых английских фраз (синтаксическая оценка) –
вы можете изменить инъекцию intrace.split ('='). с {map << [(it [0]): it [1]]} если вы _really_ ненавижу читаемость ;-) –
Мне понравилось это решение - пока я не обнаружил, что есть функцию "collectEntries()", которая может использоваться для построения карт. Это более читаемо, чем «inject()», см. Мой ответ ниже. –