Джексон: десериализовать картуна заказ вложенного Pojo - PullRequest
0 голосов
/ 19 октября 2018

У меня есть простой Map<String,String>, и я хотел бы десериализовать его в Pojo с некоторыми внутренними вложенными классами.

Пример для map: Map = ["fname" = "test", "lname"= "test"]

Фрагмент кода Pojo:

class CustomPojo {
   private Username username;

   static class Username {
      private String fname;
      private String lname;

      @JsonCreator
      public Username(@JsonProperty("fname") String fname, 
                @JsonProperty("lname") String lname) {
        this.fname = fname;
        this.lname = lname;
   }
}

Телефонный код:

CustomPojo pojo = new ObjectMapper().convert(map, CustomPojo.class);

Сбой, поскольку у него нет сопоставления для "Имя пользователя""на карте.

Есть ли хороший способ решить эту проблему, используя только аннотации?

1 Ответ

0 голосов
/ 19 октября 2018

Используйте аннотацию @JsonUnwrapped:

@JsonUnwrapped
private Username username;
...