Need Below Output -:
{
"id": "1",
"name": "EDUCATION",
"data": "",
"children": [
{
"id": "1",
"name": "STREAM-ENGG",
"data": "",
"children": [
{
"id": "1",
"name": "COMPUTER SCIENCE",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
}
]
},
{
"id": "1",
"name": "EXTC",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
}
]
},
{
"id": "1",
"name": "BIOMEDICAL",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
}
]
},
{
"id": "1",
"name": "CHEMICAL",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
}
]
}
]
},
{
"id": "1",
"name": "STREAM-MEDICAL",
"data": "",
"children": [
{
"id": "1",
"name": "MBBS",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
},
{
"id": "1",
"name": "YEAR-05",
"data": ""
}
]
},
{
"id": "1",
"name": "BHMS",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
}
]
},
{
"id": "1",
"name": "BDS",
"data": "",
"children": [
{
"id": "1",
"name": "YEAR-01",
"data": ""
},
{
"id": "1",
"name": "YEAR-02",
"data": ""
},
{
"id": "1",
"name": "YEAR-03",
"data": ""
},
{
"id": "1",
"name": "YEAR-04",
"data": ""
}
]
}
]
}
]}
DTO Class -:
public class EducationDTO {
String unid;
String Node_Name;
String Node_Details;
String Parent_Id;
String Record_State;
String HasChildren;
public String getUnid() {
return unid;
}
public void setUnid(String unid) {
this.unid = unid;
}
public String getNode_Name() {
return Node_Name;
}
public void setNode_Name(String node_Name) {
Node_Name = node_Name;
}
public String getNode_Details() {
return Node_Details;
}
public void setNode_Details(String node_Details) {
Node_Details = node_Details;
}
public String getParent_Id() {
return Parent_Id;
}
public void setParent_Id(String parent_Id) {
Parent_Id = parent_Id;
}
public String getRecord_State() {
return Record_State;
}
public void setRecord_State(String record_State) {
Record_State = record_State;
}
public String getHasChildren() {
return HasChildren;
}
public void setHasChildren(String hasChildren) {
HasChildren = hasChildren;
}
I have tried this logic but when i will add new data this logic failed. In below java code i am iterating same list multiple time instead of it i need other solution so i can add more data in my arraylist.
JsonFactory jFactory=new JsonFactory();
Writer writer = new StringWriter();
JsonGenerator jsGenerator = jFactory.createJsonGenerator(writer);
jsGenerator.writeStartObject();
jsGenerator.writeEndObject();
for(EducationDTO eDto:vDto.getEducationDTOList()){
if(eDto.getParent_Id().equalsIgnoreCase("0")){
jsGenerator.writeStringField("id",eDto.getUnid());
jsGenerator.writeStringField("name",eDto.getNode_Name());
jsGenerator.writeStringField("data","");
if(eDto.getHasChildren().equalsIgnoreCase("YES")){
jsGenerator.writeFieldName("children");
jsGenerator.writeStartArray();
for(EducationDTO eDto2:vDto.getEducationDTOList()){
if(eDto2.getParent_Id().equalsIgnoreCase(eDto.getUnid())){
jsGenerator.writeStartObject();
jsGenerator.writeStringField("id",eDto.getUnid());
jsGenerator.writeStringField("name",eDto2.getNode_Name());
jsGenerator.writeStringField("data","");
if(eDto2.getHasChildren().equalsIgnoreCase("YES")){
jsGenerator.writeFieldName("children");
jsGenerator.writeStartArray();
for(EducationDTO eDto3:vDto.getEducationDTOList()){
if(eDto3.getParent_Id().equalsIgnoreCase(eDto2.getUnid())){
jsGenerator.writeStartObject();
jsGenerator.writeStringField("id",eDto.getUnid());
jsGenerator.writeStringField("name",eDto3.getNode_Name());
jsGenerator.writeStringField("data","");
if(eDto2.getHasChildren().equalsIgnoreCase("YES")){
jsGenerator.writeFieldName("children");
jsGenerator.writeStartArray();
for(EducationDTO eDto4:vDto.getEducationDTOList()){
if(eDto4.getParent_Id().equalsIgnoreCase(eDto3.getUnid())){
jsGenerator.writeStartObject();
jsGenerator.writeStringField("id",eDto4.getUnid());
jsGenerator.writeStringField("name",eDto4.getNode_Name());
jsGenerator.writeStringField("data","");
jsGenerator.writeEndObject();
}
}
jsGenerator.writeEndArray();
}
jsGenerator.writeEndObject();
}
}
jsGenerator.writeEndArray();
}
jsGenerator.writeEndObject();
}
}
jsGenerator.writeEndArray();
}
break;
}
}
jsGenerator.close();
Aucun commentaire:
Enregistrer un commentaire