Как я могу использовать Configlurper Groovy для сериализации списков? - PullRequest
1 голос
/ 27 января 2011

Я хочу использовать ConfigSlurper для записи файла конфигурации на диск, но я получаю сообщение об ошибке:

groovy.lang.MissingMethodException: No signature of method: java.lang.Integer.indexOf() is applicable for argument types: (java.lang.String) values: [.]

Следующий пример работает нормально, пока я не раскомментирую часть «aList». Есть ли проблема с сериализацией этого в конфигурации slurper, или есть альтернативный способ, которым я мог бы написать это?

def configObj = new ConfigObject()
configObj.testing = [1, 2, 3]
configObj.nested = [ objects : 'wtf' ]

/*configObj.aList[0] = 
    [
        listItem:"000",
        subLists:(["ZZ","AB"]),
    ]*/
print configObj

//serialize it
new File( 'newout.groovy' ).withWriter{ writer ->
  configObj.writeTo( writer )
}

1 Ответ

4 голосов
/ 27 января 2011

Да, это должно работать.Вам нужно всего лишь сначала инициализировать карту следующим образом:

configObj.aList = []

А затем использовать свой код

configObj.aList[0] = 
    [
        listItem:"000",
        subLists:(["ZZ","AB"]),
    ]

В качестве альтернативы просто вставьте элемент

configObj.aList = [
    [
        listItem:"000",
        subLists:(["ZZ","AB"]),
    ]
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...