gpt4 book ai didi

Java-读取 YAML 文件 - 线程 "main"中出现异常无法在读取器中创建 property=Envs

转载 作者:行者123 更新时间:2023-12-01 22:07:26 31 4
gpt4 key购买 nike

加载 YAML 文件时(使用 SnakeYAML),我收到异常“线程“main”中的异常无法为 JavaBean=com.java.Envs@3d82c5f3 创建 property=Envs” 在“读者”中,第 1 行第 1 列: 环境:1)我做错了什么? -env 应该从 Envs 的同一位置开始:?


环境:
- 环境:“质量检查”
名字:“约翰”
姓氏:“多伊”
年龄:31
联系方式:
- 类型:“移动”
号码:123456789
- 类型:“固定电话”
号码:456786868
家庭地址:
线路:“Xyz,DEF 街”
城市:“Y市”
状态:“状态 Y”
zip : 345657
- 环境:“开发”
名字:“约翰”
姓氏:“多伊”
年龄:31
联系方式:
- 类型:“移动”
号码:123456789
- 类型:“固定电话”
号码:456786868
家庭地址:
线路:“Xyz,DEF 街”
城市:“Y市”
状态:“状态 Y”
zip : 345657
我有以下类来处理此 YAML。

    public class Envs {
List<Environment_Generic> envList;

public List<Environment_Generic> getEnvList() {
return envList;
}

public void setEnvList(List<Environment_Generic> envList) {
this.envList = envList;
}
}

public class Environment_Generic {

private String env;
private String firstName;

public String getEnv() {
return env;
}

public void setEnv(String env) {
this.env = env;
}

private String lastName;
private int age;
private List<Contact> contactDetails;
private Address homeAddress;

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public List<Contact> getContactDetails() {
return contactDetails;
}

public void setContactDetails(List<Contact> contactDetails) {
this.contactDetails = contactDetails;
}

public Address getHomeAddress() {
return homeAddress;
}

public void setHomeAddress(Address homeAddress) {
this.homeAddress = homeAddress;
}

}

使用以下代码,我检索详细信息。

   public static Envs loadYAML(String file) throws IOException{

Yaml yaml = new Yaml(new Constructor(Envs.class));
InputStream inputStream = new FileInputStream(new File("src/main/resources/" + file));
Envs envs = yaml.load(inputStream);
return envs;
}
Envs envs=loadYAML("test1.yml");
System.out.println(envs.getEnvList().get(0).getHomeAddress().getCity());

最佳答案

检查Documentation regarding typesafe collections ,您的文档的根元素是不必要的。删除根 Envs 参数。

目前,您的对象图是一个名为 EnvsEnvironment_Generic 列表。然而,您想要的(并尝试映射)只是列表本身。

关于Java-读取 YAML 文件 - 线程 "main"中出现异常无法在读取器中创建 property=Envs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58680855/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com