java yml文件,如何将yml文件转换为java pojo

This is the yaml file. I am trying this to load into pojo class. but it shows me cannot create property for listMap. Please help me in digging out this problem. In this yaml file i have a listMap which contains multiple key value pairs. Also i need advice whether this approach is better or i should load it into Map.

android: dfeiei

driver: dfkejifein

list:

- aabra

- ka

- dabra

listMap:

key: value

name: paras

sirname: porwal

code to load this yaml file into pojo.

YamlLoader yamlFile=yaml.loadAs(in, YamlLoader.class);

Here is the POJO class .

import java.util.List;

import java.util.Map;

public class YamlLoader {

private String android;

private String driver;

private Listlist;

private Mapmap;

private List listMap;

public String getAndroid() {

return android;

}

public void setAndroid(String android) {

this.android = android;

}

public String getDriver() {

return driver;

}

public void setDriver(String driver) {

this.driver = driver;

}

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

@Override

public String toString() {

return "YamlLoader [android=" + android + ", driver=" + driver + ", list=" + list + ", map=" + map + ", listMap="

+ listMap + "]";

}

public Map getMap() {

return map;

}

public void setMap(Map map) {

this.map = map;

}

public List getListMap() {

return listMap;

}

public void setListMap(List listMap) {

this.listMap = listMap;

}

解决方案

listMap is a List, which is why YAML cannot fill it from a mapping. If you want a list, change your YAML like this:

listMap:

- key: value

- name: paras

- sirname: porwal

This will get you a list of single-entry mappings. If you want to keep the mapping on the YAML side, load it into a Map.

If you want to have more control over how YAML entities map to Java types, use the SnakeYaml API instead of Jackson. I never get why people use Jackson for YAML processing when it offers fewer customizations than SnakeYaml itself and at the same time is not at any higher level.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值