Classes POJO converties en JSON à l'aide de Jackson.Comment puis-je modifier le format de JSON
String jsonInString = mapper.writeValueAsString(Table 1);
J'ai JSON comme ci-dessous
{
"id": #,
"name":"name",
"Table 2":[
{
"id": #,
"name":"name",
"Table 3":[
{
"id": #,
"name":"name"
}
],
"Table 4":[
{
"id": #,
"name":"name"
}
]
},
{
"id": #,
"name":"name"
}
]
}
Mais je veux JSON comme
{
"TableName":"Table 1"
"id": #,
"name":"name",
"children":[
{
"TableName":"Table 2"
"id": #,
"name":"name",
"children":[
{
"TableName":"Table 3"
"id": #,
"name":"name"
},
{
"TableName":"Table 4"
"id": #,
"name":"name"
}
]
},
{
"TableName":"Table 2"
"id": #,
"name":"name"
}
]
}
Comment puis-je modifier le format de JSON comme ça? Merci à l'avance ..
Ma structure de classe POJO est comme
Table 1.java
@JsonProperty("children")
private Set<Table2> Table2 = new HashSet<Table2>(0);
Table 2.java
@JsonProperty("children")
private Set<Table1> Table1 = new HashSet<Table1>(0);
//@JsonProperty("children")
private Set<Table3> Table3 = new HashSet<Table3>(0);
//@JsonProperty("children")
private Set<Table4> Table4 = new HashSet<Table4>(0);
Table 3.java
@JsonProperty("children")
private Set<Table2> Table2 = new HashSet<Table2>(0);
Table 4.java
@JsonProperty("children")
private Set<Table2> Table2 = new HashSet<Table2>(0);
Dans le tableau 2.java, je veux Table3 & Table4 sous enfants. Mais je ne peux pas utiliser @JsonProperty ("enfants") à la fois Table3 & Table4, ils seront conflit entre les noms.
"children":[
{
"TableName":"Table 3"
"id": #,
"name":"name"
},
{
"TableName":"Table 4"
"id": #,
"name":"name"
}
]
Comment créer une classe POJO Table 2.java ici?
Pouvez-vous également partager le fichier pojo. Le json dépendra toujours de la structure de l'objet. Vous ne pouvez pas simplement changer le json –
cela peut vous aider http://www.jsonschema2pojo.org/ –