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
Post a Comment