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

design - Custom Styling Qt Quick Controls -

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