From 95c03b8bfaca8f9a56f4089528f9f79f14851939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Tue, 11 Feb 2025 14:11:02 +0100 Subject: [PATCH] fix [,null] generation in Json Tiny --- .../xbib/datastructures/json/tiny/JsonBuilder.java | 2 +- .../datastructures/json/tiny/test/BuilderTest.java | 14 ++++++++++++++ .../datastructures/json/tiny/test/ParserTest.java | 1 - gradle.properties | 2 +- settings.gradle | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/datastructures-json-tiny/src/main/java/org/xbib/datastructures/json/tiny/JsonBuilder.java b/datastructures-json-tiny/src/main/java/org/xbib/datastructures/json/tiny/JsonBuilder.java index de0333c..8b510b6 100644 --- a/datastructures-json-tiny/src/main/java/org/xbib/datastructures/json/tiny/JsonBuilder.java +++ b/datastructures-json-tiny/src/main/java/org/xbib/datastructures/json/tiny/JsonBuilder.java @@ -122,7 +122,7 @@ public class JsonBuilder implements Builder { beginArrayValue(); } switch (object) { - case null -> buildNull(); + case null -> buildString("null", false); case CharSequence charSequence -> buildString(charSequence, true); case Boolean b -> buildBoolean(b); case Byte b -> buildNumber(b); diff --git a/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/BuilderTest.java b/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/BuilderTest.java index 4b495ef..bc03493 100644 --- a/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/BuilderTest.java +++ b/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/BuilderTest.java @@ -288,4 +288,18 @@ public class BuilderTest { .endMap(); assertEquals("{\"test\":{\"instant\":\"" + instant + "\",\"localdatetime\":\"" + instant + "\"}}", builder.build()); } + + @Test + public void testCollectionWithNullValue() throws Exception { + JsonBuilder builder = JsonBuilder.builder(); + builder.beginCollection(); + builder.buildNull(); + builder.endCollection(); + assertEquals("[null]", builder.build()); + builder = JsonBuilder.builder(); + builder.beginCollection(); + builder.buildValue(null); + builder.endCollection(); + assertEquals("[null]", builder.build()); + } } diff --git a/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/ParserTest.java b/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/ParserTest.java index a8b6413..31d7bf8 100644 --- a/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/ParserTest.java +++ b/datastructures-json-tiny/src/test/java/org/xbib/datastructures/json/tiny/test/ParserTest.java @@ -60,5 +60,4 @@ public class ParserTest { logger.log(Level.INFO, "value class " + e.getValue().getClass().getName()); } } - } diff --git a/gradle.properties b/gradle.properties index 34f8b0b..46890f4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group = org.xbib name = datastructures -version = 5.2.1 +version = 5.2.2 diff --git a/settings.gradle b/settings.gradle index 556f28a..ea883ab 100644 --- a/settings.gradle +++ b/settings.gradle @@ -23,7 +23,7 @@ dependencyResolutionManagement { } testLibs { version('junit', '5.10.2') - version('jackson', '2.17.1') + version('jackson', '2.17.3') library('junit-jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junit') library('junit-jupiter-params', 'org.junit.jupiter', 'junit-jupiter-params').versionRef('junit') library('junit-jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junit')