jodd.json.JsonSerializer.exclude()方法的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(12.6k)|赞(0)|评价(0)|浏览(250)

本文整理了Java中jodd.json.JsonSerializer.exclude()方法的一些代码示例,展示了JsonSerializer.exclude()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonSerializer.exclude()方法的具体详情如下:
包路径:jodd.json.JsonSerializer
类名称:JsonSerializer
方法名:exclude

JsonSerializer.exclude介绍

[英]Adds exclude path query.
[中]添加排除路径查询。

代码示例

代码示例来源:origin: oblac/jodd

  1. /**
  2. * Adds a list of excluded path queries.
  3. */
  4. public JsonSerializer exclude(final String... excludes) {
  5. for (String exclude : excludes) {
  6. exclude(exclude);
  7. }
  8. return this;
  9. }

代码示例来源:origin: oblac/jodd

  1. json = new JsonSerializer().exclude("split").include("phones").excludeTypes("*Stream").serialize(surfer);
  2. assertAttribute("exchange", json);
  3. json = new JsonSerializer().exclude("split").include("phones").exclude("phones.exchange").serialize(surfer);

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testGeneralMapDeserialization() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. JsonParsers.forEachParser(jsonParser -> {
  6. String json = new JsonSerializer().exclude("*.class").serialize(creator.createJodder());
  7. Map<String, Object> deserialized = jsonParser.parse(json);
  8. assertEquals("Igor", deserialized.get("firstname"));
  9. assertEquals("Spasic", deserialized.get("lastname"));
  10. assertTrue(Map.class.isAssignableFrom(deserialized.get("work").getClass()));
  11. assertTrue(Map.class.isAssignableFrom(deserialized.get("home").getClass()));
  12. });
  13. }

代码示例来源:origin: oblac/jodd

  1. jsonSerializer.exclude("list"); // not applied
  2. jsonSerializer.include("array");

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testExcludeAll() {
  3. JsonSerializer serializer = new JsonSerializer();
  4. String json = serializer.exclude("*").serialize(jodder);
  5. assertEquals("{}", json);
  6. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testDates() {
  3. JsonSerializer serializer = new JsonSerializer();
  4. String peopleJson = serializer.exclude("home", "work").serialize(jodder);
  5. assertAttribute("firstname", peopleJson);
  6. assertStringValue("Igor", peopleJson);
  7. assertNumber(jodder.getBirthdate().getTime(), peopleJson);
  8. assertStringValueMissing("java.util.Date", peopleJson);
  9. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testListSerialization() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. Person modesty = creator.createModesty();
  6. Person igor = creator.createJodder();
  7. Person pedro = creator.createPedro();
  8. List<Person> list = new ArrayList<>(3);
  9. list.add(modesty);
  10. list.add(igor);
  11. list.add(pedro);
  12. JsonParsers.forEachParser(jsonParser -> {
  13. String json = new JsonSerializer().serialize(list);
  14. List<Person> people = jsonParser.parse(json);
  15. assertTrue(people instanceof List);
  16. json = new JsonSerializer().exclude("*.class").serialize(list);
  17. people = jsonParser.map("values", Person.class).parse(json);
  18. assertEquals(3, people.size());
  19. assertEquals(Person.class, people.get(0).getClass());
  20. });
  21. JsonParsers.forEachParser(jsonParser -> {
  22. String json = new JsonSerializer().exclude("*.class").serialize(list);
  23. List<Map> peopleMap = jsonParser.parse(json);
  24. assertEquals(3, peopleMap.size());
  25. assertTrue(peopleMap.get(0) instanceof Map);
  26. });
  27. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testExcludingPublicFields() {
  3. Spiderman spiderman = new Spiderman();
  4. String json = new JsonSerializer().exclude("superpower").serialize(spiderman);
  5. assertAttributeMissing("superpower", json);
  6. assertAttribute("spideySense", json);
  7. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testListDeserializationNoClass() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. JsonParsers.forEachParser(jsonParser -> {
  6. Person modesty = creator.createModesty();
  7. Person igor = creator.createJodder();
  8. Person pedro = creator.createPedro();
  9. List<Person> list = new ArrayList<>(3);
  10. list.add(modesty);
  11. list.add(igor);
  12. list.add(pedro);
  13. String json = new JsonSerializer().exclude("*.class").serialize(list);
  14. List<Person> people = jsonParser.map("values", Person.class).parse(json);
  15. assertEquals(3, list.size());
  16. assertEquals(modesty.getFirstname(), list.get(0).getFirstname());
  17. assertEquals(igor.getFirstname(), list.get(1).getFirstname());
  18. assertEquals(pedro.getFirstname(), list.get(2).getFirstname());
  19. });
  20. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testWildcards() {
  3. JsonSerializer.Defaults.classMetadataName = "class";
  4. JsonSerializer serializer = new JsonSerializer();
  5. String json = serializer.include("phones").exclude("*.class").serialize(jodder);
  6. assertAttributeMissing("class", json);
  7. assertAttribute("phones", json);
  8. assertAttributeMissing("hobbies", json);
  9. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testNoHintsButClassesForCollection() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. JsonParsers.forEachParser(jsonParser -> {
  6. Hero superman = creator.createSuperman();
  7. String json = new JsonSerializer()
  8. .exclude("*.class")
  9. .include("powers.class")
  10. .serialize(superman);
  11. Hero jsonSuperMan = jsonParser.parse(json, Hero.class);
  12. assertHeroHasSuperPowers(jsonSuperMan);
  13. });
  14. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testDeepSerializationWithExcludes() {
  3. JsonSerializer serializer = new JsonSerializer();
  4. String peopleJson = serializer.exclude("people.work").deep(true).serialize(network);
  5. assertAttribute("firstname", peopleJson);
  6. assertStringValue("Igor", peopleJson);
  7. assertAttributeMissing("work", peopleJson);
  8. assertStringValue("173 Hackers Drive", peopleJson);
  9. assertAttribute("home", peopleJson);
  10. assertAttribute("phones", peopleJson);
  11. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testListOfObjects() {
  3. JsonSerializer.Defaults.classMetadataName = "class";
  4. JsonSerializer serializer = new JsonSerializer();
  5. String peopleJson = serializer.serialize(people);
  6. assertStringValue(Person.class.getName(), peopleJson);
  7. assertAttribute("firstname", peopleJson);
  8. assertStringValue("Igor", peopleJson);
  9. assertStringValue("Modesty", peopleJson);
  10. assertAttribute("lastname", peopleJson);
  11. assertStringValue("Spasic", peopleJson);
  12. assertStringValue(Address.class.getName(), peopleJson);
  13. assertStringValue("Pedro", peopleJson);
  14. assertStringValue("Sanchez", peopleJson);
  15. serializer = new JsonSerializer().exclude("home", "work");
  16. peopleJson = serializer.serialize(people);
  17. assertStringValue(Person.class.getName(), peopleJson);
  18. assertAttribute("firstname", peopleJson);
  19. assertStringValue("Igor", peopleJson);
  20. assertStringValue("Modesty", peopleJson);
  21. assertAttribute("lastname", peopleJson);
  22. assertStringValue("Spasic", peopleJson);
  23. assertStringValueMissing(Address.class.getName(), peopleJson);
  24. }

代码示例来源:origin: oblac/jodd

  1. jdrSerializer.exclude("home", "work");
  2. String modestyJson = jdrSerializer.serialize(modesty);
  3. assertStringValue(Person.class.getName(), modestyJson);
  4. assertAttributeMissing("person", modestyJson);
  5. serializer.exclude("home.zipcode", "work.zipcode");
  6. assertStringValueMissing("PAGER", json2);
  7. serializer.include("hobbies").exclude(true, "phones.areaCode", "phones.exchange", "phones.number");

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testMixedWildcards() {
  3. JsonSerializer serializer = new JsonSerializer();
  4. serializer.include("firstname", "lastname").exclude("*");
  5. String json = serializer.serialize(jodder);
  6. assertAttribute("firstname", json);
  7. assertStringValue("Igor", json);
  8. assertAttribute("lastname", json);
  9. assertStringValue("Spasic", json);
  10. assertAttributeMissing("class", json);
  11. assertAttributeMissing("phones", json);
  12. assertAttributeMissing("birthdate", json);
  13. serializer = new JsonSerializer();
  14. serializer.include("firstname", "lastname", "phones.areaCode", "phones.exchange", "phones.number").exclude("*");
  15. json = serializer.serialize(jodder);
  16. assertAttribute("firstname", json);
  17. assertStringValue("Igor", json);
  18. assertAttribute("lastname", json);
  19. assertStringValue("Spasic", json);
  20. assertAttributeMissing("class", json);
  21. assertAttribute("phones", json);
  22. assertAttributeMissing("birthdate", json);
  23. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testGenericTypeDeserialization() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. JsonParsers.forEachParser(jsonParser -> {
  6. Pair<Hero, Villian> archenemies = new Pair<>(creator.createSuperman(), creator.createLexLuthor());
  7. String json = new JsonSerializer()
  8. .exclude("*.class")
  9. .serialize(archenemies);
  10. Pair<Hero, Villian> deserialArchEnemies = jsonParser
  11. .map("first", Hero.class)
  12. .map("second", Villian.class)
  13. .parse(json, Pair.class);
  14. assertEquals(archenemies.getFirst().getClass(), deserialArchEnemies.getFirst().getClass());
  15. assertEquals(archenemies.getSecond().getClass(), deserialArchEnemies.getSecond().getClass());
  16. assertEquals(archenemies.getFirst().getIdentity(), deserialArchEnemies.getFirst().getIdentity());
  17. assertEquals(archenemies.getFirst().getLair(), deserialArchEnemies.getFirst().getLair());
  18. assertEquals(archenemies.getFirst().getName(), deserialArchEnemies.getFirst().getName());
  19. assertEquals(archenemies.getSecond().getName(), deserialArchEnemies.getSecond().getName());
  20. assertEquals(archenemies.getSecond().getLair(), deserialArchEnemies.getSecond().getLair());
  21. });
  22. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testExclude() {
  3. String json = new JsonSerializer().serialize(jodder);
  4. assertAttribute("firstname", json);
  5. assertAttributeMissing("number", json);
  6. assertAttributeMissing("exchange", json);
  7. assertAttributeMissing("areaCode", json);
  8. json = new JsonSerializer().include("phones").serialize(jodder);
  9. assertAttribute("firstname", json);
  10. assertAttribute("number", json);
  11. assertAttribute("exchange", json);
  12. assertAttribute("areaCode", json);
  13. json = new JsonSerializer().include("phones").exclude("phones.areaCode").serialize(jodder);
  14. assertAttribute("firstname", json);
  15. assertAttribute("number", json);
  16. assertAttribute("exchange", json);
  17. assertAttributeMissing("areaCode", json);
  18. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testArrayType() {
  3. JsonParsers.forEachParser(jsonParser -> {
  4. Person igor = creator.createJodder();
  5. Person modesty = creator.createModesty();
  6. Group group = new Group("brothers", igor, modesty);
  7. String json = new JsonSerializer().include("people").exclude("*.class").serialize(group);
  8. Group bro = jsonParser.map(Group.class).parse(json);
  9. assertNotNull(bro);
  10. assertEquals("brothers", bro.getGroupName());
  11. assertEquals(2, bro.getPeople().length);
  12. assertEquals("Igor", bro.getPeople()[0].getFirstname());
  13. assertEquals("Modesty", bro.getPeople()[1].getFirstname());
  14. });
  15. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testNoClassHintsForCollections() {
  3. JsonParser.Defaults.classMetadataName = "class";
  4. JsonSerializer.Defaults.classMetadataName = "class";
  5. JsonParsers.forEachParser(jsonParser -> {
  6. Hero superman = creator.createSuperman();
  7. String json = new JsonSerializer()
  8. .include("powers") // redudant
  9. .include("powers.class")
  10. .withSerializer("powers.class", new SimpleClassnameTransformer())
  11. .exclude("*.class")
  12. .serialize(superman);
  13. int count = StringUtil.count(json, "***");
  14. assertEquals(4, count);
  15. json = StringUtil.remove(json, "***");
  16. Hero jsonSuperMan = jsonParser
  17. .map("lair", SecretLair.class)
  18. .map("secretIdentity", SecretIdentity.class)
  19. .parse(json, Hero.class);
  20. assertEquals("Fortress of Solitude", jsonSuperMan.getLair().getName());
  21. assertHeroHasSuperPowers(jsonSuperMan);
  22. });
  23. }

代码示例来源:origin: oblac/jodd

  1. @Test
  2. void testNoClassHints() {
  3. JsonParsers.forEachParser(jsonParser -> {
  4. Hero superman = creator.createSuperman();
  5. String json = new JsonSerializer().exclude("*.class").serialize(superman);
  6. Hero jsonSuperMan = jsonParser
  7. .map(Hero.class)
  8. .map("lair", SecretLair.class)
  9. .map("secretIdentity", SecretIdentity.class)
  10. .parse(json);
  11. assertNotNull(jsonSuperMan);
  12. assertEquals("Super Man", jsonSuperMan.getName());
  13. assertNotNull(jsonSuperMan.getIdentity());
  14. assertEquals("Clark Kent", jsonSuperMan.getIdentity().getName());
  15. assertNotNull(jsonSuperMan.getLair());
  16. assertEquals("Fortress of Solitude", jsonSuperMan.getLair().getName());
  17. });
  18. }

相关文章