![](/img/trans.png)
[英]How to convert ObjectNode to Java POJO and Java POJO to JsonNode?
[英]how to convert yml file to java pojo
这是yaml文件。 我正在尝试将此加载到pojo类中。 但它显示我无法为listMap创建属性。 请帮助我找出这个问题。 在这个yaml文件中,我有一个listMap,其中包含多个键值对。 我还需要建议是否采用这种方法更好,还是应该将其加载到Map中。
android: dfeiei
driver: dfkejifein
list:
- aabra
- ka
- dabra
listMap:
key: value
name: paras
sirname: porwal
代码将此Yaml文件加载到pojo中。
YamlLoader yamlFile=yaml.loadAs(in, YamlLoader.class);
这是POJO类。
import java.util.List;
import java.util.Map;
public class YamlLoader {
private String android;
private String driver;
private List<String>list;
private Map<String,String>map;
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<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
@Override
public String toString() {
return "YamlLoader [android=" + android + ", driver=" + driver + ", list=" + list + ", map=" + map + ", listMap="
+ listMap + "]";
}
public Map<String,String> getMap() {
return map;
}
public void setMap(Map<String,String> map) {
this.map = map;
}
public List getListMap() {
return listMap;
}
public void setListMap(List listMap) {
this.listMap = listMap;
}
listMap
是一个List
,这就是为什么YAML无法从映射中填充它的原因。 如果需要列表,请按以下方式更改YAML:
listMap:
- key: value
- name: paras
- sirname: porwal
这将为您提供单项映射的列表。 如果要将映射保留在YAML端,请将其加载到Map
。
如果要控制YAML实体如何映射到Java类型,请使用SnakeYaml API而不是Jackson。 我从来不明白为什么人们使用杰克逊进行YAML处理,因为它提供的自定义项少于SnakeYaml本身,而同时又没有更高的级别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.