使用Java将YAML文件列表转换为对象

时间:2017-10-28 01:12:02

标签: java yaml

尝试将以下YAML转换为Data和Emp。

的JAVA类对象

YAML数据:

# -- start data --
data:
  - version: 1
  - query: 'select id, name, ip;'
  - [ id, name, ip ]
  - [ 0, unknown, 0 ]
  - [ 6481089589324858364, admin, 10.128.1.114 ]
  - [ 6481312372191345669, user1, 2.2.250.1]
# -- end data -- 
# -- start emp --
emp:
  - version: 1
  - query: 'select id, name, number;'
  - [ id, empname, number ]
  - [ 648, emp1, 1 ]
  - [ 645, emp2, 2 ]
# -- end emp --

Java代码:

Entry entry = Yaml.loadType(file, Entry.class); //--> parses it as list

public class Entry {
    @JsonIgnoreProperties(ignoreUnknown = true)
    @JsonProperty
    List<Data> data;

    public List<Data> getdata() {
        return data;
    }

    public void setData(List<Data> data) {
        this.data = data;
    }
//similarly List<Employee> emp;
}

员工和数据类是POJO的地方。任何关于如何将YAML文件列表转换为Java对象的链接/帮助将不胜感激。

更多的事情:

  • 某些行在列表中无效,如( - version:1)等
  • ID是非常大的数字,所以它被解析为double
  • Datamapper不断丢失方法错误
  • 或者无法将START.OBJECT标记中的java.util.ArrayList实例反序列化为&#39; [&#39;

0 个答案:

没有答案