如何将给定的JSON映射到DTO

时间:2016-10-24 10:56:49

标签: java json jackson fasterxml

我有以下JSON

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

我希望有一个描述给定JSON的类,这样我就可以使用fasterxml的{​​{1}}将它序列化/反序列化为java对象。我尝试使用ObjectMapper,但序列化结果完全不同

@JsonUnrwapped

我知道JSON结构已损坏,但我怎样才能有适当的映射?

3 个答案:

答案 0 :(得分:1)

怎么样:

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

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

然后你可以探索它们是int还是字符串。

答案 1 :(得分:1)

在你的json中,"years"是一个再次包含对象数组的数组,所以你的DTO将是 -

public class ExampleDTO {

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

}

注意:如果你有json数据,你可以在这里轻松地创建正确的pojo -

https://jsfiddle.net/x5amcaqr/

答案 2 :(得分:0)

使用jsonformatter-online.com之类的工具,该工具基于json生成POJO类