diff --git a/src/main/java/org/cyclonedx/model/ReleaseNotes.java b/src/main/java/org/cyclonedx/model/ReleaseNotes.java index 00e72969e..c8bb6d9ef 100644 --- a/src/main/java/org/cyclonedx/model/ReleaseNotes.java +++ b/src/main/java/org/cyclonedx/model/ReleaseNotes.java @@ -178,6 +178,7 @@ public void setProperties(final List properties) { } @JsonIgnoreProperties(ignoreUnknown = true) + @JsonInclude(JsonInclude.Include.NON_EMPTY) public static class Resolves { public enum Type { diff --git a/src/test/java/org/cyclonedx/BomJsonGeneratorTest.java b/src/test/java/org/cyclonedx/BomJsonGeneratorTest.java index 6ce4755aa..207ad43fa 100644 --- a/src/test/java/org/cyclonedx/BomJsonGeneratorTest.java +++ b/src/test/java/org/cyclonedx/BomJsonGeneratorTest.java @@ -120,6 +120,18 @@ public void schema12MultipleDependenciesJsonTest() throws Exception { assertTrue(jsonParser.isValid(file, Version.VERSION_12)); } + @Test + public void schema16ReleaseNotesResolvesWithoutNameJsonTest() throws Exception { + final byte[] bomBytes = Objects.requireNonNull(this.getClass().getResourceAsStream("/1.6/valid-release-notes-1.6.json")).readAllBytes(); + final Bom bom = new JsonParser().parse(bomBytes); + + BomJsonGenerator generator = BomGeneratorFactory.createJson(Version.VERSION_16, bom); + String json = generator.toJsonString(); + assertFalse(json.contains("null"), json); + File file = writeToFile(json); + assertTrue(new JsonParser().isValid(file, Version.VERSION_16)); + } + @Test public void schema13EmptyComponentsJsonTest() throws Exception { final Bom bom = new Bom();