Преобразовать переменную String в список [Groovy]

Как преобразовать эту переменную String в List?

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

Я пробовал с: как List и toList();

Ответы

Ответ 1

def l = Eval.me(ids)

Принимает строку кода groovy (в данном случае "[10,1,9]" ) и оценивает ее как groovy. Это даст вам список из 3 целых чисел.

Ответ 2

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

Ответ 3

Использовать JsonSlurper!

Использование Eval не является лучшим решением в большинстве случаев, и решение по обработке строк будет терпеть неудачу после изменения типа данных, чтобы он не поддается адаптации. Поэтому лучше всего использовать JsonSlurper.

import groovy.json.JsonSlurper

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

assert 10 == idList[0]