2016-10-24 2 views
0

Я следующие действия JSONКак карту дали JSON для DTO

{ 
    "status": "OK", 
    "years": [ 
     ["current_products", "actual_tariff"], 
     [ 2012, 2013] 
    ] 
} 

Я хотел бы иметь класс, описывающий данную JSON, так что я буду иметь возможность сериализации/десериализации его в/из java-объект с использованием fasterxml's ObjectMapper. Я пытался использовать @JsonUnrwapped но сериализовать результат полностью отличается

public class ExampleDto { 

    public String  status; 
    public List<Year> years; 

    public static class Year { 

     @JsonUnwrapped 
     public List<String> info; 
     @JsonUnwrapped 
     public List<String> years; 
    } 
} 

// writing object to JSON value results to 
// {"status":"OK","years":[{"info":["current","aktuelle"],"years":["2012","2013"]}]} 

Я знаю, что структура JSON сломана, но как я могу иметь надлежащее отображение для него?

ответ

1

как насчет:

public class Dto { 
    @JsonProperty("status"); 
    String status; 

    @JsonProperty("years"); 
    List<List<Object>> years; 
} 

Тогда вы можете изучить, если они ИНТ или строки.

1

В вашем JSON, "years" массив, который снова содержит массивы строки, так что ваш DTO будет быть-

public class ExampleDTO { 

@JsonProperty("status") 
private String status; 
@JsonProperty("years") 
private List<List<String>> years; 

} 

ПРИМЕЧАНИЕ: Если у вас есть данные в формате JSON, вы можете легко создать правильный POJO из он здесь -

http://www.jsonschema2pojo.org/

+0

Пожалуйста, отметьте ответ, если это помогло. –

Смежные вопросы