我有一个名为Activite的实体引用了自己,(Activite可以有很多activite),我试图通过休息服务获得所有activite。 这是实体:如何更改Json格式输出
@Entity
public class Activite implements Serializable{
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id_act;
private String designation_fr;
private String designation_ar;
private String libelle;
@ManyToOne
private Activite parent;
@OneToMany(mappedBy="parent")
private Collection<Activite> children;
public Collection<Activite> getChildren() {
return children;
}
public void setChildren(Collection<Activite> children) {
this.children = children;
}
@JsonIgnore
public Activite getParent() {
return parent;
}
public void setParent(Activite parent) {
this.parent = parent;
}
这是我得到的JSON格式:
[{
"id_act": 1,
"designation_fr": "fr",
"designation_ar": "cfd",
"libelle": "Activite 1",
"children": [
{
"id_act": 11,
"designation_fr": "bhjf",
"designation_ar": "dhbf",
"libelle": "Activite 1.1",
"children": [],
"id_prj": 1
},
{
"id_act": 12,
"designation_fr": "njkj",
"designation_ar": "ffrgrn",
"libelle": "Activite 1.2",
"children": [],
"id_prj": 1
},
{
"id_act": 13,
"designation_fr": "njkdj",
"designation_ar": "frjn",
"libelle": "Activite 1.3",
"children": [
{
"id_act": 131,
"designation_fr": "hcchchc",
"designation_ar": "GFVVHG",
"libelle": "Activite 1.3.1",
"children": [],
"id_prj": 1
}
],
"id_prj": 1
}
],
"id_prj": 1
},
{
"id_act": 11,
"designation_fr": "bhjf",
"designation_ar": "dhbf",
"libelle": "Activite 1.1",
"children": [],
"id_prj": 1
},
{
"id_act": 12,
"designation_fr": "njkj",
"designation_ar": "ffrgrn",
"libelle": "Activite 1.2",
"children": [],
"id_prj": 1
},
{
"id_act": 13,
"designation_fr": "njkdj",
"designation_ar": "frjn",
"libelle": "Activite 1.3",
"children": [
{
"id_act": 131,
"designation_fr": "hcchchc",
"designation_ar": "GFVVHG",
"libelle": "Activite 1.3.1",
"children": [],
"id_prj": 1
}
],
"id_prj": 1
},
{
"id_act": 131,
"designation_fr": "hcchchc",
"designation_ar": "GFVVHG",
"libelle": "Activite 1.3.1",
"children": [],
"id_prj": 1
}
]
,这就是我想:
[
{
"id_act": 1,
"designation_fr": "fr",
"designation_ar": "cfd",
"libelle": "Activite 1",
"children": [
{
"id_act": 11,
"designation_fr": "bhjf",
"designation_ar": "dhbf",
"libelle": "Activite 1.1",
"children": [],
"id_prj": 1
},
{
"id_act": 12,
"designation_fr": "njkj",
"designation_ar": "ffrgrn",
"libelle": "Activite 1.2",
"children": [],
"id_prj": 1
},
{
"id_act": 13,
"designation_fr": "njkdj",
"designation_ar": "frjn",
"libelle": "Activite 1.3",
"children": [{
"id_act": 131,
"designation_fr": "njkdj",
"designation_ar": "frjn",
"libelle": "Activite 1.3.1",
"children": [],
"id_prj": 1
}],
"id_prj": 1
}
],
"id_prj": 1
}]
正如你所看到的激活与编号11 12 13和131是重复的我希望他们只在儿童数组 我实际上在调用angularjs中的其余服务,所以是否有可能改变j儿子格式,我与angularjs或我应该改变在后端查询
如果你不得不改变你发送给客户端的东西的结构,最好做一下服务器端 – Mistalis
这两个json有什么区别? –
你只是指JSON格式或其他东西的缩进? – CrazyMac