Jackson:将map <string,object>反序列化为自定义嵌套Pojo

时间:2018-10-19 19:40:52

标签: java jackson jackson-databind

我有一个简单的Map<String,String>,我想将其反序列化为带有一些内部嵌套类的Pojo。

地图示例:     映射= [“ fname” =“测试”,“ lname” =“测试”]

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);

它失败了,因为它在映射中没有“ Username”的映射。

有没有一种很好的方法可以仅使用注释来解决此问题?

1 个答案:

答案 0 :(得分:3)

使用 public void GetCustomer() { using (SQLConnection connection = new SqlConnection(Helper.CnnVal("DataConnection"))) { var retrieval = new DynamicParameters(); retrieval.Add("@Action", "Retrieve"); retrieval.Add("@name", this.customer_Name); connection.Open(): connection.Execute(Helper.Procedure("Customer"), retrieval, commandType: CommandType.StoredProcedure); } } 批注:

@JsonUnwrapped