使用Yamlbeans库将Yaml文件转换为对象

时间:2016-05-04 18:15:06

标签: file class object yaml

我尝试使用名为contact的yaml文件将其写入对象。不幸的是它没有用......

    package javaapplication22;

import com.esotericsoftware.yamlbeans.YamlException;
import com.esotericsoftware.yamlbeans.YamlReader;
import java.io.FileNotFoundException;
import java.io.FileReader;


public class JavaApplication22 {

    public class Contact {
    public String name;
    public int age;
}

public static void main(String[] args) throws FileNotFoundException, YamlException {

    YamlReader reader = new YamlReader(new FileReader("contact.yml"));
    Contact contact = reader.read(Contact.class);
    System.out.println(contact.age);

}

}

我不知道为什么它不起作用。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您无法以静态方法引用JavaApplication22 $ Contact。

总之,为了打电话

Contact contact = reader.read(Contact.class);

你必须确保你可以在那里调用构造函数:

Contact test = new Contact();

在您的代码中,您无法在main方法中新建一个类Contact的对象。

有两种方法可以解决:

1)将联系人更改为静态

public static class Contact {
    public String name;
    public int age;
}

2)不要将联系人定义为内部类