diff --git a/model/src/main/kotlin/Mappers.kt b/model/src/main/kotlin/Mappers.kt index 3b1f8ebc674e1..70ff73d73c407 100644 --- a/model/src/main/kotlin/Mappers.kt +++ b/model/src/main/kotlin/Mappers.kt @@ -72,4 +72,14 @@ inline fun String.fromYaml(): T = yamlMapper.readValue(this) fun Any?.toYaml(): String = yamlMapper.writeValueAsString(this) +fun Any?.toJson(prettyPrint: Boolean = true): String { + val writer = if (prettyPrint) { + jsonMapper.writerWithDefaultPrettyPrinter() + } else { + jsonMapper.writer() + } + + return writer.writeValueAsString(this) +} + fun String.readJsonTree(): JsonNode = jsonMapper.readTree(this) diff --git a/model/src/test/kotlin/ProvenanceTest.kt b/model/src/test/kotlin/ProvenanceTest.kt index e0e7302fe2801..28dd5a702c1ea 100644 --- a/model/src/test/kotlin/ProvenanceTest.kt +++ b/model/src/test/kotlin/ProvenanceTest.kt @@ -29,7 +29,7 @@ import org.ossreviewtoolkit.utils.common.normalizeLineBreaks class ProvenanceTest : WordSpec({ "UnknownProvenance" should { val provenance = UnknownProvenance - val json = jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsString(provenance) + val json = provenance.toJson() "be serializable" { json shouldBe "{ }" @@ -52,7 +52,7 @@ class ProvenanceTest : WordSpec({ ) ) - val json = jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsString(provenance) + val json = provenance.toJson() "be serializable" { json.normalizeLineBreaks() shouldBe """ @@ -92,7 +92,7 @@ class ProvenanceTest : WordSpec({ resolvedRevision = "resolvedRevision" ) - val json = jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsString(provenance) + val json = provenance.toJson() "be serializable" { json.normalizeLineBreaks() shouldBe """