繁体   English   中英

如何将给定的JSON映射到DTO

[英]How to map given JSON to DTO

我有以下JSON

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

我想要一个描述给定JSON的类,以便能够使用fasterxmlObjectMapper将其序列化到Java对象或从Java对象反序列化。 我尝试使用@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结构已损坏,但是如何为其提供适当的映射?

怎么样:

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

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

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

在您的json中, "years"是一个数组,该数组再次包含对象数组,因此您的DTO将是-

public class ExampleDTO {

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

}

注意 :如果您拥有json数据,则可以在此处轻松地创建正确的pojo-

http://www.jsonschema2pojo.org/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM