问题描述
我想解析多个 yaml 文件并在表上添加一个打印文件。我有解析 yaml 的代码,但我试图找出一种向类添加属性的方法(如果不可用)。
下面是我的代码
public void readyml() throws JsonParseException,JsonMappingException,IOException{
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.findAndRegisterModules();
Order order = mapper.readValue(new File("src/main/resources/orderInput.yaml"),Order.class);
System.out.println("order ::: " + order);
}
上面的代码读取src/main/resources/orderInput.yaml
orderNo: A001
date: 2019-04-17
customerName: Customer,Joe
orderLines:
- item: No. 9 Sprockets
quantity: 12
unitPrice: 1.23
- item: Widget (10mm)
quantity: 4
unitPrice: 3.45
将它们映射到 Order
和 OrderList
类,并打印值
我的问题是,如果在 yaml 中添加了一个新属性,我希望我的代码能够获取它
你能帮忙吗
解决方法
修改代码,将属性映射到映射,而不是类
public void readyml() throws JsonParseException,JsonMappingException,IOException{
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.findAndRegisterModules();
Map<String,Object> dynamicProperties = new HashMap<String,Object>();
dynamicProperties = mapper.readValue(new File("src/main/resources/orderInput.yaml"),Map.class);
System.out.println("order ::: " + dynamicProperties);
}