如何使用Groovy的configslurper来序列化列表?

问题描述:

我想用ConfigSlurper写一个配置文件保存到磁盘,但是我得到的错误:如何使用Groovy的configslurper来序列化列表?

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

下面的示例正常工作,直到我去掉它的“ALIST”的一部分。在config 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) 
} 

是的,这应该工作。你只需要先初始化地图是这样的:

configObj.aList = [] 

然后用你的代码

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

另外,刚刚在网上元素

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

大 - 感谢您的快速响应! – Mark 2011-01-27 12:17:53