【发布时间】:2019-04-03 08:53:53
【问题描述】:
我有一个 yaml 文件,其中的键是驼峰式的,比如
---
start_date: "2018-09-01"
day_date: "2018-09-01"
userProduct:
sales_channel: "1"
user_group: "1"
我有以下 Java PoJos
public class Input{
private String startDate = "";
private String dayDate = "";
@JsonUnwrapped
private Product userProduct;
// getters/setters
}
public class Product {
private salesChannel = "";
private userGroup = "";
// getters/setters
}
现在我想和杰克逊一起阅读这篇文章,我认为使用它就足够了
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
return objectMapper.readValue(inputData, Input.class); // inputData is the yaml as string
但这不会填充嵌套对象。来自Input 对象的startDate 和dayDate 是正确的,但例如input.getUserProduct().getSalesChannel() 返回一个空字符串。
我还尝试在 yaml 文件中使用 user_product 而不是 userProduct,但这并没有改变任何内容。
这里有什么问题?如何在 yaml 和 java 中定义蛇形大小写?
【问题讨论】: