java - Jackson configure own json -


i start playing around jackson json stuck @ point. json returned:

[     {         "id": "1",         "groups": [             {                 "id": "1",                 "name": "group99",                 "students": [                     {                         "studentid": "1"                     },                     {                         "studentid": "2"                     },                     {                         "studentid": "3"                     }                 ],                 "schoolid": 10             },             {                 "id": "2",                 "name": "group100",                 "students": [                     {                         "studentid": "1"                     },                     {                         "studentid": "2"                     },                     {                         "studentid": "3"                     }                 ],                 "schoolid": 10             }         ]     } ] 

i json without student array in it. so

[     {         "id": "1",         "groups": [             {                 "id": "1",                 "name": "group99",                 "schoolid": 10             },             {                 "id": "2",                 "name": "group100",                 "schoolid": 10             }         ]     } ] 

right list out of database , created objectmapper return objectmapper.writevalueasstring(list). how can modify list student array excluded in json jackson?

edit java code

the java code have right

list<assessment> assessments = (list<assessment>)   assessmentrepository.findgroupsbyusernameandassessmentid(username, assessmentid);     //2. convert json java object     objectmapper mapper = new objectmapper();     // create new json     list<string> groups = new arraylist<>();     for(int = 0; <= assessments.size() - 1; i++){         for(int k = 0; k < assessments.get(i).getgroups().length; k++){             // create string wanted information         }     }     return mapper.writevalueasstring(groups);  

i not sure if right way , expect there easier way

update fixed using hashmap. java code find below. let me know guys if way or if there better 1

assessment assessment = (assessment) assessmentrepository.findgroupsbyusernameandassessmentid(username, assessmentid);     // 2. convert json java object     objectmapper mapper = new objectmapper();     // create new json     arraylist<object> jsonwithoutteacherandstudents = new arraylist<object>();     hashmap<string, string> jsonkeyandvaluemap = new hashmap<>();      groupsummary[] summary = assessment.getgroups();     (int = 0; < assessment.getgroups().length; i++) {         jsonkeyandvaluemap.put("id", summary[i].getid());         jsonkeyandvaluemap.put("name", summary[i].getname());         jsonkeyandvaluemap.put("schoolid", integer.tostring(summary[i].getschoolid()));         jsonwithoutteacherandstudents.add(mapper.writevalueasstring(jsonkeyandvaluemap));     }     return jsonwithoutteacherandstudents.tostring(); 

you can use jackson attributes set @jsonignore list don't want show in pojo class.

edit:/ if strict you, can write jsonfilter object mapper. in case simplebeanpropertyfilter should work fine factory.


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -