没有自定义反序列化器的Jackson JSON反序列化

时间:2015-05-04 10:24:36

标签: android json jackson

我有这个JSON:

{"result":{"code":"OK",
           "message":"",
           "user":{"id":"1",
                   "name":"YingYang",
                   "mail":"somemail@gmail.com"
                  }
           }
}

ApiResult课程

@JsonIgnoreProperties(ignoreUnknown = true)
public class ApiResult {
    @JsonProperty("code")
    public String code;

    @JsonProperty("message")
    public String message;

    @JsonProperty(value = "user", required = false)
    public User user;
}

用户类:

@JsonIgnoreProperties(ignoreUnknown = true)
@DatabaseTable(tableName = DefaultContract.User.TABLE)
public class User {

    @JsonProperty("id")
    @DatabaseField(id = true, columnName = DefaultContract.User._ID)
    public int id;

    @JsonProperty("name")
    @DatabaseField(columnName = DefaultContract.User.NAME)
    public String name;

    @JsonProperty("mail")
    @DatabaseField(columnName = DefaultContract.User.EMAIL)
    public String mail;
}

我需要的是一个具有三个属性的ApiResult对象:code(String),message(String)和user(User)。

我不希望User成为ApiResponse中的内部类,即我不想要

class ApiResult(){
 ...
 class User(){...}
 ...
}

是否有正确的方法来更改它以便在没有自定义反序列化器的情况下使用ObjectMapper()?

0 个答案:

没有答案