У меня есть файл 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
но это не заполняет вложенные объекты. startDate
и dayDate
из объекта Input
верны, но, например, input.getUserProduct().getSalesChannel()
возвращает пустую строку.
Я также пытался использовать user_product
вместо userProduct
в файле yaml, но это ничего не меняет.
Что здесь не так? Как я могу определить случай змеи в ямле и верблюд в Яве?