@Test void testMapWithEmbeddedObject() { JsonParsers.forEachParser(jsonParser -> { Map<String, Network> networks = jsonParser .setClassMetadataName("class") .parse("{\"1\": {\"class\":\"" + Network.class.getName() + "\", \"name\": \"Jodd\"} }"); assertNotNull(networks); assertEquals(1, networks.size()); assertTrue(networks.containsKey("1")); assertNotNull(networks.get("1")); assertEquals(Network.class, networks.get("1").getClass()); assertEquals("Jodd", networks.get("1").getName()); }); }
@Test void testListWithEmbeddedObject() { JsonParsers.forEachParser(jsonParser -> { List<Network> networks = jsonParser .setClassMetadataName("class") .parse("[" + " {\"class\":\"" + Network.class.getName() + "\", \"name\": \"Jodd\"}," + " {\"class\":\"" + Network.class.getName() + "\", \"name\": \"Mojo\"}" + "]"); assertNotNull(networks); assertEquals(2, networks.size()); Network network = networks.get(0); assertEquals("Jodd", network.getName()); network = networks.get(1); assertEquals("Mojo", network.getName()); }); }
@Test void testParseCatalogAsObjectWithClassname() { JsonParsers.forEachParser(jsonParser -> { String json = loadJSON("citm_catalog"); Catalog catalog = jsonParser.setClassMetadataName("class").parse(json, Catalog.class); assertCatalog(catalog); }); }
@Test void testDeserializeInterfaces() { JsonParsers.forEachParser(jsonParser -> { Hero superman = creator.createSuperman(); String json = new JsonSerializer().include("powers").setClassMetadataName("class").serialize(superman); Hero jsonSuperMan = jsonParser.setClassMetadataName("class").parse(json, Hero.class); assertNotNull(jsonSuperMan); assertEquals(4, jsonSuperMan.getPowers().size()); assertHeroHasSuperPowers(jsonSuperMan); }); }
@Test void testAnnNameWithClass() { JsonParsers.forEachParser(jsonParser -> { Location location = new Location(); location.setLatitude(65); location.setLongitude(12); String json = new JsonSerializer().setClassMetadataName("class").serialize(location); assertEquals("{\"class\":\"" + Location.class.getName() + "\",\"lat\":65,\"lng\":12}", json); Location jsonLocation = jsonParser.setClassMetadataName("class").parse(json, Location.class); assertEquals(location.getLatitude(), jsonLocation.getLatitude()); assertEquals(location.getLongitude(), jsonLocation.getLongitude()); }); }
@Test void testAnnNameWithClass() { JsonParsers.forEachParser(jsonParser -> { LocationAlt location = new LocationAlt(); location.setLatitude(65); location.setLongitude(12); String json = new JsonSerializer().setClassMetadataName("class").serialize(location); assertEquals("{\"lat\":65,\"lng\":12}", json); LocationAlt jsonLocation = jsonParser.setClassMetadataName("class").parse(json, LocationAlt.class); assertEquals(location.getLatitude(), jsonLocation.getLatitude()); assertEquals(location.getLongitude(), jsonLocation.getLongitude()); }); }