![](/img/trans.png)
[英]Trying to convert flat yaml file into hashmap in java using jackson
[英]Yaml file value is not loading using jackson in java
我想加载一个Yaml文件并将其存储在Config.java中。
这是我的yaml文件:(更大)。我提供了一个简化版本)
---
application:
admin:
jobInterValTime: 1440
customer: lc
system:
mongo:
host: localhost
port: 27017
dbName: LC_Test
collections:
groupsCollection: groups
membershipCollection: memberships
personsCollection: persons
这是Config.java:
public class Config {
private Application application;
private System system;
//Getter setter
}
Application.java
public class Application {
private Admin admin;
//Getter Setter
}
管理员程序
public class Admin {
private String jobInterValTime;
private String customer;
//Getter Setter
}
System.java
public class System {
private Mongo mongo;
//Getter Setter
}
Mongo.java
public class Mongo {
private String host;
private String port;
private String dbName;
private Map<String, String> collections;
//Getter Setter
}
但是, application
和system
内部的对象Config.java
即将null.No异常发生。 有人可以帮忙吗?
这是我写的。
Config config = null;
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
try{
config = objectMapper.readValue(new File("src/test/java/resources/test1.yaml"), Config.class);
//System.out.println(application.getAdmin().getCustomer());
// System.out.println(unidataConfig.getApplication().getAdmin().getCustomer());
} catch(Exception e) {
e.printStackTrace();
}
我不知道根本原因是什么,代码看起来不错。 但是您可以尝试做的一件事是首先读取Map
或JsonNode
内容,并查看结构的外观。 可能不匹配。
我解决了问题。 这个错误非常愚蠢。 在一个setter方法中,我这样写: var1 = var1
而不是this.var1 = var1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.