/** * Serializes object into provided appendable. */ public void serialize(final Object source, final Appendable target) { JsonContext jsonContext = createJsonContext(target); jsonContext.serialize(source); }
@Test void testConvertObjectToMapSimple() { Hill hill = new Hill(); hill.setHeight("173"); hill.setName("JoddHillWood"); final Map<String, Object> target = new HashMap<>(); JsonContext jsonContext = new JsonSerializer().createJsonContext(null); BeanSerializer beanSerializer = new BeanSerializer(jsonContext, hill) { @Override protected void onSerializableProperty(String propertyName, Class propertyType, Object value) { target.put(propertyName, value); } }; beanSerializer.serialize(); assertEquals(1, target.size()); assertEquals("173", target.get("height")); }
@Test void testConvertPersonToMap() { Person jodder = new DataCreator().createJodder(); final Map<String, Object> target = new HashMap<>(); JsonContext jsonContext = new JsonSerializer().createJsonContext(null); BeanSerializer beanSerializer = new BeanSerializer(jsonContext, jodder) { @Override protected void onSerializableProperty(String propertyName, Class propertyType, Object value) { target.put(propertyName, value); } }; beanSerializer.serialize(); assertEquals(6, target.size()); assertSame(jodder.getBirthdate(), target.get("birthdate")); assertSame(jodder.getFirstBaseBallGame(), target.get("firstBaseBallGame")); assertSame(jodder.getLastname(), target.get("lastname")); assertSame(jodder.getFirstname(), target.get("firstname")); assertSame(jodder.getHome(), target.get("home")); assertSame(jodder.getWork(), target.get("work")); }
@Test void testConvertPersonToMap2() { Person jodder = new DataCreator().createJodder(); final Map<String, Object> target = new HashMap<>(); JsonContext jsonContext = new JsonSerializer() .include("phones") .excludeTypes(Address.class) .createJsonContext(null); BeanSerializer beanSerializer = new BeanSerializer(jsonContext, jodder) { @Override protected void onSerializableProperty(String propertyName, Class propertyType, Object value) { target.put(propertyName, value); } }; beanSerializer.serialize(); assertEquals(5, target.size()); assertSame(jodder.getBirthdate(), target.get("birthdate")); assertSame(jodder.getFirstBaseBallGame(), target.get("firstBaseBallGame")); assertSame(jodder.getLastname(), target.get("lastname")); assertSame(jodder.getFirstname(), target.get("firstname")); assertSame(jodder.getPhones(), target.get("phones")); }