У меня есть некоторый enum класс, давайте представим
public enum MyEnum {
ONE("one"), TWO("two"), THREE("three"), DEFAULT("some value")
//..
}
и класс Dto:
@JsonPropertyOrder(value = {"id", "name", "params"})
public Dto {
private Long id;
private String name;
private Map<MyEnum, Object> params;
}
Как настроить порядок для ключей в параметрах карте? Я знаю, что LinkedHashMap можно использовать для настройки порядка и просто добавлять на карту в правильном порядке. Но! Существуют случаи, когда значение ключа должно быть добавлено во время выполнения и добавлено в params сопоставление не с последней ссылкой, а внутри карты. например,
params = new LinkedHashMap();
params.put(ONE, new String("object1"));
params.put(THREE, new String("object #3"));
и чем в другом месте кода мы только что добавили
params.put(TWO, new Integer(20));
и порядок внутри json должен быть:
{
"id":"123", "name":"some name",
"params":{"ONE":"object1","TWO":"20","THREE":"object #3"}
}