如何在JSON中获取特定属性对象?

时间:2016-08-02 20:38:03

标签: java json jaxb jax-rs

我使用JAX-RS,我想从我的资源中获取一个JSON对象。

例如,我有下一个代码:

图书课程:

@XmlRootElement
public class Book {

    private int id;

    private String name;

}

和人类:

@XmlRootElement
private class Person {

    private int id;

    @XmlElement(name="full_name")
    private String fullName;

    @XmlElement(name="book_id")
    private Book book;

}

我想得到这个:

{
    "id": 1,
    "full_name": "Gustavo Pacheco",
    "book_id": 8
}

不要这样:

{
    "id": 1,
    "full_name": "Gustavo Pacheco",
    "book": {
        "id": 8,
        "name": "Cien Años De Soledad"
    }
}

如何从book类中获取id属性以获得更简单的JSON?

1 个答案:

答案 0 :(得分:0)

对于这些情况,最好的办法是让DTO独立的类和与数据库模型对应的实体独立。

例如:

package com.github.ryctabo.example.entity;

/* Entity class */
@Entity
public class Person implements Serializable {}

package com.github.ryctabo.example.dto;

/* Data Transfer Object class */
@XmlRootElement
public class PersonData {}

这确保了数据库模型的完整性,并且您可以独立地了解如何在不同的类中显示数据。