2014-03-13 43 views
1

嗨,我是Grails新手,我正在學習BootStrap.groovy文件。我發現你可以創建每個模型並將它們一次保存到數據庫中,但是無論如何都要從YAML文件或類似的文件中加載它們。我來自支持類似的Play框架。我已經有一個包含大約80個對象的YAML文件,可以爲數據庫創建種子,我真的不想將它們寫入新的MyObject({blah:blah,blah:blah})。save()。有什麼可以幫我處理嗎?從文件引導Grails

回答

1

因此,我發現Groovy Library爲JYaml,它允許您從YAML文件實例化類。下面是他們給出的例子:

@Grab('org.jyaml:jyaml:1.3') 
import org.ho.yaml.* 

class Staff { 
    def firstname, lastname, position 
} 

input = ''' 
firstname: John 
lastname: Connor 
position: Resistance Leader 
''' 
Staff s = Yaml.loadType(input, Staff) 
println s.dump() 
// => <[email protected] firstname=John lastname=Connor position=Resistance Leader> 

---- ----編輯

正如評論所說,JYAML不再被支持,SnakeYAML是去解析的方式YAML文件。請參閱SnakeYAML examples here

+1

您也可以按照[本答案](http://stackoverflow.com/a/1863814/2051952)中的建議使用[SnakeYAML](https://code.google.com/p/snakeyaml/)。 [JYaml](http://jyaml.sourceforge.net/)聲稱不再維護它。 – dmahapatro

+0

謝謝@dmahapatro我將使用SnakeYAML來代替。請張貼這個答案,以便我可以接受它。 – vosmith

+0

我很好,你做了功課。 :)如果您可以使用SnakeYaml作爲上述答案的更新來發布您的實現版本(或者您爲JYaml所做的示例),那將非常好。並接受你自己的答案。 ;) – dmahapatro