Ich habe eine Entity namens Activite, die sich selbst referenziert, (eine Activite kann viele Aktivitäten haben) und ich versuche, alle Aktivitäten durch einen Rest-Service zu bekommen. ist dies die Einheit:Wie man die Ausgabe des Json-Formats ändert
@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;
}
das ist das Json-Format, das ich erhalte:
[{
"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
}
]
und das, was ich zu bekommen:
[
{
"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
}]
Wie Sie sehen können Activite mit der ID 11 12 13 und 131 sind doppelt Ich möchte sie nur in der Kinder-Array Ich bin eigentlich den Rest Service in angularjs, so ist es möglich, die j zu ändern Sohn-Format, das ich mit angularjs bekomme oder sollte ich die Abfrage im Back-End ändern
Wenn Sie die Struktur von etwas ändern müssen Sie an den Client senden, ist es besser, es zu tun Server-Seite – Mistalis
Was ist der Unterschied zwischen diesen beiden Json? –
Beziehen Sie nur die Einrückung im JSON-Format oder etwas anderes? – CrazyMac