Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. package homo.efficio.json.jackson.custom.serialization;
  2.  
  3. import com.fasterxml.jackson.core.JsonProcessingException;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.fasterxml.jackson.databind.module.SimpleModule;
  6. import homo.efficio.json.jackson.custom.serialization.domain.CellPhone;
  7. import homo.efficio.json.jackson.custom.serialization.domain.FamilyMember;
  8. import homo.efficio.json.jackson.custom.serialization.domain.MobileVendor;
  9. import homo.efficio.json.jackson.custom.serialization.serializer.CellPhoneSerializer;
  10. import homo.efficio.json.jackson.custom.serialization.serializer.FamilyMemberSerializer;
  11.  
  12. import java.util.LinkedHashSet;
  13. import java.util.Set;
  14.  
  15. /**
  16. * Created by HomoEfficio on 2016-10-22.
  17. */
  18. public class CustomSerializationMain {
  19.  
  20. public static void main(String[] args) throws JsonProcessingException {
  21.  
  22. ObjectMapper objectMapper = getObjectMapper();
  23.  
  24. FamilyMember 천하대장군 = getFamilyMember();
  25.  
  26. System.out.println(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(천하대장군));
  27. }
  28.  
  29. private static ObjectMapper getObjectMapper() {
  30.  
  31. ObjectMapper objectMapper = new ObjectMapper();
  32.  
  33. SimpleModule simpleModule = new SimpleModule();
  34. simpleModule.addSerializer(FamilyMember.class, new FamilyMemberSerializer());
  35. simpleModule.addSerializer(CellPhone.class, new CellPhoneSerializer());
  36.  
  37. objectMapper.registerModule(simpleModule);
  38.  
  39. return objectMapper;
  40. }
  41.  
  42. private static FamilyMember getFamilyMember() {
  43.  
  44. FamilyMember 손녀딸1 = new FamilyMember(
  45. 31L, "손녀딸", null, null
  46. );
  47. FamilyMember 손자2 = new FamilyMember(
  48. 32L, "손자2", null, null
  49. );
  50.  
  51. Set<FamilyMember> childrens1 = new LinkedHashSet<>();
  52. childrens1.add(손녀딸1);
  53. childrens1.add(손자2);
  54. FamilyMember 아들1 = new FamilyMember(
  55. 21L, "아들1", new CellPhone("01087879898", MobileVendor.KT), childrens1
  56. );
  57. FamilyMember 며느리1 = new FamilyMember(
  58. 22L, "며느리1", new CellPhone("01082825353", MobileVendor.SKT), childrens1
  59. );
  60.  
  61. Set<FamilyMember> childrens = new LinkedHashSet<>();
  62. childrens.add(아들1);
  63. childrens.add(며느리1);
  64. return new FamilyMember(
  65. 21L, "천하대장군", new CellPhone("01056561253", MobileVendor.LGT), childrens
  66. );
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement