如何用杰克逊对未包装的json进行反序列化?

时间:2015-10-18 01:28:04

标签: java jackson

我在jSON期间使用jackson for java.It正常工作。

但是,我有一个问题。

我的大部分json都会包含状态和描述等常用字段以及少量更改字段。

我正在考虑将公共字段放入一个单独的类中,并将其对象包含在所有类中,但它不能正常工作,因为Jackson无法理解这两个字段需要在其他对象中设置。

Class login {
    private String name;
    private Response response;
    /* getters and setters*/
}

Class Response {
    private String status;
    private string description;
    /* getters and setters*/
}

这不适用于json

{
    "name": "",
    "status": "",
    "description": ""
}

请建议实现它的最佳方法。我只能想到继承来实现它。

1 个答案:

答案 0 :(得分:2)

更改您的json,如下所示:

{
    "name": "",
    "response": {
        "status": "",
        "description": ""
    }
}

或者如果您无法更改JSON,请更改您的班级:

abstract class Response  
{  
  private String status;
  private String description;
}  


class Login extends Response  
{  
  private String name;
}  

您现在拥有的代码只有在您将json更改为我上面写的那个时才会起作用。