2014-04-25 2 views
3

Java에서 2D 배열을 YAML로 함께 deserialize하려고합니다. 저는 이것을 위해 Yamlbeans 라이브러리를 사용하고 있습니다. 여기 2D 배열 오브젝트 YAML에서 Java

public State[][] states; 

가 난 오류입니다 : 하나 개의 라인

public class State { 
    public String name; 
    public long duration; 

    public State(){} 

    public State(String name, long duration){ 
     this.name = name; 
     this.duration = duration; 

    } 
} 

배열이 다른 클래스에 선언 : 여기

states: 
- 0: 
    - name: SPAWNINGSTATE 
    duration: 4 

내 클래스의 : 여기

내 YAML의 점점 :

com.esotericsoftware.yamlbeans.YamlReader$YamlReaderException: Line 57, column 5: Error creating object. 
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:266) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:335) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:295) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152) 
    at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:103) 
    at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:90) 
    at com.sbg.wickedtemplate.layers.ForegroundLightning.<init>(ForegroundLightning.java:22) 
    at com.sbg.wickedtemplate.World.<init>(World.java:25) 
    at com.sbg.wickedtemplate.LWP_Engine.create(LWP_Engine.java:39) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) 
Caused by: java.lang.reflect.InvocationTargetException: Unable to find a no-arg constructor for class: [Lcom.sbg.wickedtemplate.State; 
    at com.esotericsoftware.yamlbeans.Beans.createObject(Beans.java:111) 
    at com.esotericsoftware.yamlbeans.YamlReader.createObject(YamlReader.java:363) 
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:264) 

정규 배열을 만드는 데 문제가 없었습니다. 분명히 거기에있을 때 아무 인자도없는 생성자를 찾을 수 없다는 것을 왜 말하는 것일까 요? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

노드 중 하나를 고칠 수 있습니까?

states: 
     0: 
     name: SPAWNINGSTATE 
     duration: 4 

"-"는 배열을 던져 버릴 수도 있습니다.