【问题标题】:Mapping entity to json with object property (Generic type)使用对象属性将实体映射到 json(通用类型)
【发布时间】:2015-12-07 03:27:50
【问题描述】:

我有 2 节课:
Test1 - 封装响应的结果(实体)。

public class Test1 {  
    public String status_type;  
    public int error_code;  
    public String status_msg;  
    public Object data;  
}

Test2 - 我需要发送的实体之一,带有附加字段。 (Test1 类字段)

public class Test2 {
    public int idd;
    public String username;
}

球衣休息服务

@Path("test")
public class MyTest {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Test1 getIt() {

        Test2 t2 =  new Test2();
        t2.idd = 1;
        t2.username = "Jony Jackson";

        Test1 t1 = new Test1();
        t1.error_code = 0;
        t1.status_type = "info";
        t1.data = t2;

        return t1;
    }
}

我得到的结果:

{"status_type":"info",  "error_code":0,  "data":"rest.Test2@9707283"}

我需要得到的结果:

{"status_type":"info","error_code":0, 
    "data":{"idd":1,"username":"Jony Jackson"}}

请帮忙解决这个问题。

【问题讨论】:

  • 只是快速复习,并没有真正尝试过:在你的课堂上Test1 而不是public Object data; 它应该是public Test2 data;。这一定是它没有正确翻译它的​​原因。希望对您有所帮助。
  • 不,我有很多类,这就是为什么我不能定义确切的类型。谢谢你的回答。

标签: java json jackson mapping jersey-2.0


【解决方案1】:

我用其他方式解决我的问题。

@Path("test")
public class MyTest {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Object getIt() {

        Test2 t2 =  new Test2();
        t2.idd = 1;
        t2.username = "Jony Jackson";

        Test1 t1 = new Test1();
        t1.error_code = 0;
        t1.status_type = "info";

        String json = null;
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);
        mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
        try {
            t1.data = t2;
            json = mapper.writeValueAsString(t1);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return  json;

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 2013-04-05
    相关资源
    最近更新 更多