具有构造函数和设置属性的Yaml文件无效

时间:2014-02-24 12:34:33

标签: java yaml snakeyaml

我想用我的Yaml-File创建一些java对象。这是源代码:

package foo;

public class Sample {

    private String name;
    private String description;

    private Integer value;

    public Sample(String name, String description) {
        this.name = name;
        this.description = description;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getValue() {
        return value;
    }

    public void setValue(Integer value) {
        this.value = value;
    }
}

一个非常简单的java类。这是Yaml文件:

mySample: !!foo.Sample [ 'Name', 'Description' ]
  value: 123

例外是:

while parsing a block mapping
 in 'string', line 4, column 1:
    mySample: !!foo.Sample [ 'Name', ... 

但是如果我删除“值”的设置,它就可以了。是不是可以创建一个具有另一个构造函数的对象作为默认值,然后设置一些成员属性?

这完全可以运行,但没有“值”值:

mySample: !!foo.Sample [ 'Name', 'Description' ]

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是CompactObjectNotation,这是SnakeYAML中的一个超出规范的功能。

https://code.google.com/p/snakeyaml/wiki/CompactObjectNotation