2014-03-13 2 views
1

안녕하세요, 저는 Grails를 처음 접했고 BootStrap.groovy 파일에 대해 배우려하고 있습니다. 나는 당신이 각 모델을 만들어서 한 번에 하나씩 데이터베이스에 저장할 수 있다는 것을 알았지 만, YAML 파일이나 비슷한 것으로부터로드 할 수있는 방법이있다. 이런 식으로 지원하는 Play 프레임 워크에서 왔습니다. 나는 이미 약 80 개의 객체를 가진 YAML 파일을 가지고 있으며, 새로운 MyObject ({blah : blah, blah : blah})와 save()를 모두 쓰고 싶지는 않다. 이걸 내가 처리 할 수있는 것이 있습니까?부트 스트랩 Grails from 파일

답변

1

그래서 나는 YAML 파일에서 클래스를 인스턴스화 할 수있는 JYaml의 Groovy 라이브러리를 발견했습니다. 여기에 그들이주는 예입니다

@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

Thanks @dmahapatro 대신 SnakeYAML을 사용하겠습니다. 동의 할 수 있도록 답변으로 게시 해주세요. – vosmith

+0

나는 좋다, 숙제를했다. :) 위의 대답에 대한 업데이트로 SnakeYaml을 사용하여 구현 버전 (또는 JYaml에 대한 예제)을 게시 할 수 있다면 좋을 것입니다. 그리고 당신 자신의 대답을 받아들이십시오. ;) – dmahapatro

관련 문제