java - 无法为标签 :yaml. org,2002 构造 java 对象

标签 java yaml

我尝试使用 java 代码读取 yaml 文件内容,但无法使用 java 模型类构造 java 对象

请找到我的person.yaml文件

name: Joe
phone: 111-111-11111
address: Park Dr, Charlie Hill

请找到我的模型类

public class Person {

      private String name;
      private String phone;
      private String address;

}

请找到我的服务方式:

public class PersonsService {

    public static void main(String args[]) throws IOException {

         Yaml yaml = new Yaml();
          try (InputStream in = PersonsService.class
                  .getResourceAsStream("person.yaml")) {
              Person person = yaml.loadAs(in, Person.class);
              System.out.println(person);
          }

    }

}

我收到以下错误:

Exception in thread "main" Can't construct a java object for tag:yaml.org,2002:com.javaproject.snakeyaml.model.Person; exception=Cannot create property=name for JavaBean=com.javaproject.snakeyaml.model.Person@77a567e1; No JavaBean properties found in com.javaproject.snakeyaml.model.Person

在“阅读器”中,第 1 行第 1 列: 姓名:乔 ^

最佳答案

该错误说明了一切:

Can't construct a java object for tag:yaml.org,2002:com.javaproject.snakeyaml.model.PersoN ... No JavaBean properties found in com.javaproject.snakeyaml.model.Person

因此,您必须为 Person 类提供 getter 和 setter,以便库使用它们为您的 Person 类对象设置值。有关 JavaBeans 属性的更多信息,请参阅 here .

关于java - 无法为标签 :yaml. org,2002 构造 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57017656/

相关文章:

yaml - 当我尝试同时使用 join、sub 和 importvalue 时,模板格式错误

ruby-on-rails - 无法访问 `database.yml` 文件中的环境变量

Docker-Compose 文件有 yaml.scanner.ScannerError 但我没有看到任何东西

linux - debian 上的 OpenJDK 崩溃日志

java - 如何在带有模式的字符串后找到数字?

java - Eclipse中多模块maven web项目的依赖问题

Linux:更新 yaml 文件中的值

Java - 低 "used time"的较短 session 超时

java - Spring data - 域对象继承和泛型方法

python - PyYAML 转储无效的 YAML,除非参数包含数组