From 4cb7f9a77e137e7036fdd3d812ff71fea7b7cc14 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:35:28 +0200 Subject: [PATCH 01/16] Update Jackson minor release version to v2.17.1 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4847f26..488f1fe 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | flexjson | 3.3 | | genson | 1.6 | | gson | 2.10.1 | -| jackson | 2.16.0 | +| jackson | 2.17.1 | | jodd json | 6.0.3 | | johnzon | 1.2.21 | | jakarta | 2.1.3 | diff --git a/build.gradle b/build.gradle index 246c5db..ef37f2a 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ repositories { ext { avajeJsonVersion = '1.9' - jacksonVersion = '2.16.0' + jacksonVersion = '2.17.1' dslJsonVersion = '1.10.0' johnzonVersion = '1.2.21' jmhVersion = '1.35' From 8ef2ac1885791994cd42cd6eb28c2c4d043a0164 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:36:32 +0200 Subject: [PATCH 02/16] Update avaje-jsonb minor release version to v1.11 --- README.md | 2 +- build.gradle | 2 +- .../github/fabienrenaud/jjb/provider/ClientsJsonProvider.java | 4 ++-- .../github/fabienrenaud/jjb/provider/UsersJsonProvider.java | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 488f1fe..b2dc11b 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | Library | Version | |--------------|----------| -| avaje-jsonb | 1.9 | +| avaje-jsonb | 1.11 | | boon | 0.34 | | dsl-json | 1.10.0 | | fastjson | 2.0.46 | diff --git a/build.gradle b/build.gradle index ef37f2a..fff588e 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ repositories { } ext { - avajeJsonVersion = '1.9' + avajeJsonVersion = '1.11' jacksonVersion = '2.17.1' dslJsonVersion = '1.10.0' johnzonVersion = '1.2.21' diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java index 05f2539..a932516 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java @@ -158,10 +158,10 @@ public void toJson(com.squareup.moshi.JsonWriter writer, @Nullable OffsetDateTim private final DslJson dsljson_reflection = new DslJson<>(Settings.withRuntime());//don't include generated classes private final io.avaje.jsonb.JsonType avajeJsonb_jackson = io.avaje.jsonb.Jsonb - .newBuilder() + .builder() .adapter(new JacksonAdapter(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Clients.class); private final io.avaje.jsonb.JsonType avajeJsonb_default = io.avaje.jsonb.Jsonb - .newBuilder() + .builder() .adapter(new JsonStream(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Clients.class); private final Map jsonioStreamOptions = new HashMap<>(); diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java index 07cb1e6..f205c4e 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java @@ -59,8 +59,8 @@ public class UsersJsonProvider implements JsonProvider { private final Map jsonioStreamOptions = new HashMap<>(); - private final JsonType avajeJsonb_jackson = io.avaje.jsonb.Jsonb.newBuilder().adapter(new JacksonAdapter(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); - private final JsonType avajeJsonb_default = io.avaje.jsonb.Jsonb.newBuilder().adapter(new JsonStream(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); + private final JsonType avajeJsonb_jackson = io.avaje.jsonb.Jsonb.builder().adapter(new JacksonAdapter(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); + private final JsonType avajeJsonb_default = io.avaje.jsonb.Jsonb.builder().adapter(new JsonStream(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); public UsersJsonProvider() { jsonioStreamOptions.put(JsonReader.USE_MAPS, true); From 58737f49b031ac079307e044dad0522f2f4b1782 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:46:25 +0200 Subject: [PATCH 03/16] Update gson minor release version to v2.11.0 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b2dc11b..219db42 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | fastjson | 2.0.46 | | flexjson | 3.3 | | genson | 1.6 | -| gson | 2.10.1 | +| gson | 2.11.0 | | jackson | 2.17.1 | | jodd json | 6.0.3 | | johnzon | 1.2.21 | diff --git a/build.gradle b/build.gradle index fff588e..b1c24c6 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,7 @@ dependencies { // GENSON implementation group: 'com.owlike', name: 'genson', version: '1.6' // GSON - implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' + implementation group: 'com.google.code.gson', name: 'gson', version: '2.11.0' // Jackson implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}" implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner', version: "${jacksonVersion}" From 5d4dfbe928c2205ef3f47d7269496613d2d4c0da Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 21:17:31 +0200 Subject: [PATCH 04/16] Fix typo --- .../github/fabienrenaud/jjb/provider/ClientsJsonProvider.java | 2 +- .../com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java index a932516..90f3d5e 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java @@ -171,7 +171,7 @@ public ClientsJsonProvider() { jsonioStreamOptions.put(JsonReader.USE_MAPS, true); jsonioStreamOptions.put(JsonWriter.TYPE, false); - // set johnson JsonReader (default is `JsonProvider.provider()`) + // set johnzon JsonReader (default is `JsonProvider.provider()`) jakarta.json.spi.JsonProvider johnzonProvider = new JsonProviderImpl(); johnzon = new org.apache.johnzon.mapper.MapperBuilder() .setReaderFactory(johnzonProvider.createReaderFactory(Collections.emptyMap())) diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java index f205c4e..c60aa35 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java @@ -66,7 +66,7 @@ public UsersJsonProvider() { jsonioStreamOptions.put(JsonReader.USE_MAPS, true); jsonioStreamOptions.put(JsonWriter.TYPE, false); - // set johnson JsonReader (default is `JsonProvider.provider()`) + // set johnzon JsonReader (default is `JsonProvider.provider()`) jakarta.json.spi.JsonProvider johnzonProvider = new JsonProviderImpl(); johnzon = new org.apache.johnzon.mapper.MapperBuilder() .setReaderFactory(johnzonProvider.createReaderFactory(Collections.emptyMap())) From 07d0c80ff7cca406b7eb99fb74465fb13c13f173 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:51:24 +0200 Subject: [PATCH 05/16] Fix typo in current json-io version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 219db42..0f4ad46 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | jodd json | 6.0.3 | | johnzon | 1.2.21 | | jakarta | 2.1.3 | -| json-io | 4.40.0 | +| json-io | 4.14.0 | | simplejson | 1.1.1 | | json-smart | 2.4.11 | | logansquare | 1.3.7 | From 2c2cc4a92616c51197e69591739e5d277a08195a Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:59:06 +0200 Subject: [PATCH 06/16] Update jsonb-api (Jakarta JSON Binding) patch release to v3.0.1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b1c24c6..fea79ab 100644 --- a/build.gradle +++ b/build.gradle @@ -64,7 +64,7 @@ dependencies { implementation group: 'org.apache.johnzon', name: 'johnzon-core', classifier: 'jakarta', version: "${johnzonVersion}" implementation group: 'org.apache.johnzon', name: 'johnzon-mapper', classifier: 'jakarta', version: "${johnzonVersion}" // Jakarta - implementation group: 'jakarta.json.bind', name: 'jakarta.json.bind-api', version: '3.0.0' + implementation group: 'jakarta.json.bind', name: 'jakarta.json.bind-api', version: '3.0.1' implementation group: 'jakarta.json', name: 'jakarta.json-api', version: '2.1.3' implementation group: 'org.glassfish', name: 'jakarta.json', version: '2.0.1' // json-io From 8645c148cad8592fa7277d229c82b62437c4f507 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:01:17 +0200 Subject: [PATCH 07/16] Update json-smart minor release version to v2.5.1 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0f4ad46..5bb1729 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | jakarta | 2.1.3 | | json-io | 4.14.0 | | simplejson | 1.1.1 | -| json-smart | 2.4.11 | +| json-smart | 2.5.1 | | logansquare | 1.3.7 | | minimal-json | 0.9.5 | | mjson | 1.4.1 | diff --git a/build.gradle b/build.gradle index fea79ab..9342768 100644 --- a/build.gradle +++ b/build.gradle @@ -72,7 +72,7 @@ dependencies { // json-simple implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' // json-smart - implementation group: 'net.minidev', name: 'json-smart', version: '2.4.11' + implementation group: 'net.minidev', name: 'json-smart', version: '2.5.1' // LoganSquare implementation group: 'com.bluelinelabs', name: 'logansquare', version: '1.3.7' annotationProcessor group: 'com.bluelinelabs', name: 'logansquare-compiler', version: '1.3.7' From 9a15f261a5d3ef6c63356e72387756c654f0c15c Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:02:55 +0200 Subject: [PATCH 08/16] Update moshi patch release version to v1.15.1 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5bb1729..048782a 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | logansquare | 1.3.7 | | minimal-json | 0.9.5 | | mjson | 1.4.1 | -| moshi | 1.15.0 | +| moshi | 1.15.1 | | nanojson | 1.8 | | org.json | 20231013 | | purejson | 1.0.1 | diff --git a/build.gradle b/build.gradle index 9342768..8f5cd94 100644 --- a/build.gradle +++ b/build.gradle @@ -81,7 +81,7 @@ dependencies { // mjson implementation group: 'org.sharegov', name: 'mjson', version: '1.4.1' // moshi - implementation group: 'com.squareup.moshi', name: 'moshi', version: '1.15.0' + implementation group: 'com.squareup.moshi', name: 'moshi', version: '1.15.1' // nanojson implementation group: 'com.grack', name: 'nanojson', version: '1.8' // org.json From eb97e5cdc9cc9a6e7739de3698393be8093f6482 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:03:46 +0200 Subject: [PATCH 09/16] Update nanojson minor release version to v1.9 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 048782a..768bb53 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | minimal-json | 0.9.5 | | mjson | 1.4.1 | | moshi | 1.15.1 | -| nanojson | 1.8 | +| nanojson | 1.9 | | org.json | 20231013 | | purejson | 1.0.1 | | qson | 1.1.1 | diff --git a/build.gradle b/build.gradle index 8f5cd94..2744eab 100644 --- a/build.gradle +++ b/build.gradle @@ -83,7 +83,7 @@ dependencies { // moshi implementation group: 'com.squareup.moshi', name: 'moshi', version: '1.15.1' // nanojson - implementation group: 'com.grack', name: 'nanojson', version: '1.8' + implementation group: 'com.grack', name: 'nanojson', version: '1.9' // org.json implementation group: 'org.json', name: 'json', version: '20231013' // purejson From 2853d21b773f964e01eddb76d055ef1dd1da4d32 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:04:49 +0200 Subject: [PATCH 10/16] Update org.json snapshot version to 20240303 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 768bb53..8f07d71 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | mjson | 1.4.1 | | moshi | 1.15.1 | | nanojson | 1.9 | -| org.json | 20231013 | +| org.json | 20240303 | | purejson | 1.0.1 | | qson | 1.1.1 | | tapestry | 5.8.3 | diff --git a/build.gradle b/build.gradle index 2744eab..846dbc9 100644 --- a/build.gradle +++ b/build.gradle @@ -85,7 +85,7 @@ dependencies { // nanojson implementation group: 'com.grack', name: 'nanojson', version: '1.9' // org.json - implementation group: 'org.json', name: 'json', version: '20231013' + implementation group: 'org.json', name: 'json', version: '20240303' // purejson implementation group: 'io.github.senthilganeshs', name: 'purejson', version: '1.0.1' // qson From e53b5c68cec4dc6c78bb0c7dc0a4551345da203a Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:34:14 +0200 Subject: [PATCH 11/16] Update tapestry patch release version to v5.8.6 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8f07d71..bf259ea 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | org.json | 20240303 | | purejson | 1.0.1 | | qson | 1.1.1 | -| tapestry | 5.8.3 | +| tapestry | 5.8.6 | | underscore | 1.97 | | yasson | 3.0.3 | | wast | 0.0.12.1 | diff --git a/build.gradle b/build.gradle index 846dbc9..2541cef 100644 --- a/build.gradle +++ b/build.gradle @@ -91,7 +91,7 @@ dependencies { // qson implementation group: 'io.quarkus.qson', name: 'qson-generator', version: '1.1.1.Final' // tapestry - implementation group: 'org.apache.tapestry', name: 'tapestry-json', version: '5.8.3' + implementation group: 'org.apache.tapestry', name: 'tapestry-json', version: '5.8.6' // underscore-java implementation group: 'com.github.javadev', name: 'underscore', version: '1.97' // yasson From 4d05dd731edd1e460c2d1651c646cbd0cb3ae349 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:34:53 +0200 Subject: [PATCH 12/16] Update underscore minor release version to v101 --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bf259ea..9fbba02 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | purejson | 1.0.1 | | qson | 1.1.1 | | tapestry | 5.8.6 | -| underscore | 1.97 | +| underscore | 1.101 | | yasson | 3.0.3 | | wast | 0.0.12.1 | diff --git a/build.gradle b/build.gradle index 2541cef..82ec937 100644 --- a/build.gradle +++ b/build.gradle @@ -93,7 +93,7 @@ dependencies { // tapestry implementation group: 'org.apache.tapestry', name: 'tapestry-json', version: '5.8.6' // underscore-java - implementation group: 'com.github.javadev', name: 'underscore', version: '1.97' + implementation group: 'com.github.javadev', name: 'underscore', version: '1.101' // yasson implementation group: 'org.eclipse', name: 'yasson', version: '3.0.3' // QuickBuffers From 604f78fb33bbd06157589a536f6999a79a6e27c4 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 08:52:14 +0200 Subject: [PATCH 13/16] Update json-io minor release version to v4.24.0 --- README.md | 2 +- build.gradle | 2 +- .../jjb/provider/ClientsJsonProvider.java | 14 -------------- .../fabienrenaud/jjb/provider/JsonProvider.java | 4 ---- .../jjb/provider/UsersJsonProvider.java | 13 ------------- .../fabienrenaud/jjb/stream/Deserialization.java | 12 ++++++++++-- .../fabienrenaud/jjb/stream/Serialization.java | 8 ++++++-- .../com/github/fabienrenaud/jjb/JsonBenchmark.java | 5 +++-- 8 files changed, 21 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 9fbba02..5597b8e 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | jodd json | 6.0.3 | | johnzon | 1.2.21 | | jakarta | 2.1.3 | -| json-io | 4.14.0 | +| json-io | 4.24.0 | | simplejson | 1.1.1 | | json-smart | 2.5.1 | | logansquare | 1.3.7 | diff --git a/build.gradle b/build.gradle index 82ec937..5ba969f 100644 --- a/build.gradle +++ b/build.gradle @@ -68,7 +68,7 @@ dependencies { implementation group: 'jakarta.json', name: 'jakarta.json-api', version: '2.1.3' implementation group: 'org.glassfish', name: 'jakarta.json', version: '2.0.1' // json-io - implementation group: 'com.cedarsoftware', name: 'json-io', version: '4.14.0' + implementation group: 'com.cedarsoftware', name: 'json-io', version: '4.24.0' // json-simple implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' // json-smart diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java index 90f3d5e..6d5178f 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/ClientsJsonProvider.java @@ -1,7 +1,5 @@ package com.github.fabienrenaud.jjb.provider; -import com.cedarsoftware.util.io.JsonReader; -import com.cedarsoftware.util.io.JsonWriter; import com.dslplatform.json.DslJson; import com.dslplatform.json.runtime.Settings; import com.fasterxml.jackson.core.JsonFactory; @@ -46,8 +44,6 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import java.util.Collections; -import java.util.HashMap; -import java.util.Map; import java.util.UUID; public class ClientsJsonProvider implements JsonProvider { @@ -164,13 +160,8 @@ public void toJson(com.squareup.moshi.JsonWriter writer, @Nullable OffsetDateTim .builder() .adapter(new JsonStream(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Clients.class); - private final Map jsonioStreamOptions = new HashMap<>(); - public ClientsJsonProvider() { - jsonioStreamOptions.put(JsonReader.USE_MAPS, true); - jsonioStreamOptions.put(JsonWriter.TYPE, false); - // set johnzon JsonReader (default is `JsonProvider.provider()`) jakarta.json.spi.JsonProvider johnzonProvider = new JsonProviderImpl(); johnzon = new org.apache.johnzon.mapper.MapperBuilder() @@ -243,11 +234,6 @@ public Mapper johnzon() { return johnzon; } - @Override - public Map jsonioStreamOptions() { - return jsonioStreamOptions; - } - @Override public DslJson dsljson() { return dsljson; diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/JsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/JsonProvider.java index b686574..c729244 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/JsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/JsonProvider.java @@ -14,8 +14,6 @@ import us.hebi.quickbuf.JsonSink; import us.hebi.quickbuf.ProtoMessage; -import java.util.Map; - public interface JsonProvider { Gson gson(); @@ -42,8 +40,6 @@ public interface JsonProvider { Mapper johnzon(); - Map jsonioStreamOptions(); - DslJson dsljson(); DslJson dsljson_reflection(); diff --git a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java index c60aa35..00af287 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java +++ b/src/main/java/com/github/fabienrenaud/jjb/provider/UsersJsonProvider.java @@ -1,7 +1,5 @@ package com.github.fabienrenaud.jjb.provider; -import com.cedarsoftware.util.io.JsonReader; -import com.cedarsoftware.util.io.JsonWriter; import com.dslplatform.json.DslJson; import com.dslplatform.json.runtime.Settings; import com.fasterxml.jackson.core.JsonFactory; @@ -24,8 +22,6 @@ import org.eclipse.yasson.JsonBindingProvider; import java.util.Collections; -import java.util.HashMap; -import java.util.Map; import jakarta.json.bind.Jsonb; import us.hebi.quickbuf.JsonSink; @@ -57,14 +53,10 @@ public class UsersJsonProvider implements JsonProvider { private final DslJson dsljson = new DslJson<>(Settings.withRuntime().includeServiceLoader()); private final DslJson dsljson_reflection = new DslJson<>(Settings.withRuntime());//don't include generated classes - private final Map jsonioStreamOptions = new HashMap<>(); - private final JsonType avajeJsonb_jackson = io.avaje.jsonb.Jsonb.builder().adapter(new JacksonAdapter(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); private final JsonType avajeJsonb_default = io.avaje.jsonb.Jsonb.builder().adapter(new JsonStream(/* serializeNulls */ true, /* serializeEmpty */ true, /* failOnUnknown */ false)).build().type(Users.class); public UsersJsonProvider() { - jsonioStreamOptions.put(JsonReader.USE_MAPS, true); - jsonioStreamOptions.put(JsonWriter.TYPE, false); // set johnzon JsonReader (default is `JsonProvider.provider()`) jakarta.json.spi.JsonProvider johnzonProvider = new JsonProviderImpl(); @@ -132,11 +124,6 @@ public Mapper johnzon() { return johnzon; } - @Override - public Map jsonioStreamOptions() { - return jsonioStreamOptions; - } - @Override public DslJson dsljson() { return dsljson; diff --git a/src/main/java/com/github/fabienrenaud/jjb/stream/Deserialization.java b/src/main/java/com/github/fabienrenaud/jjb/stream/Deserialization.java index 764c33c..d80dc69 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/stream/Deserialization.java +++ b/src/main/java/com/github/fabienrenaud/jjb/stream/Deserialization.java @@ -12,6 +12,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; +import com.cedarsoftware.io.JsonIo; +import com.cedarsoftware.io.ReadOptionsBuilder; import org.json.JSONException; import org.json.JSONObject; import org.openjdk.jmh.annotations.Benchmark; @@ -90,8 +92,14 @@ public Object genson() throws Exception { @Benchmark @Override - public Object jsonio() throws Exception { - return com.cedarsoftware.util.io.JsonReader.jsonToJava(JSON_SOURCE().nextInputStream(), JSON_SOURCE().provider().jsonioStreamOptions()); + public Object jsonio() { + + // returnAsNativeJsonObjects maps to old JsonWriter.USE_MAPS=true behavior, + // see {@link JsonIo#getReadOptionsBuilder(java.util.Map)} and + // the v4.19 changelog + return JsonIo.toObjects( + JSON_SOURCE().nextInputStream(), new ReadOptionsBuilder().returnAsNativeJsonObjects().build(), null + ); } @Benchmark diff --git a/src/main/java/com/github/fabienrenaud/jjb/stream/Serialization.java b/src/main/java/com/github/fabienrenaud/jjb/stream/Serialization.java index 28c23c5..c67cfbf 100644 --- a/src/main/java/com/github/fabienrenaud/jjb/stream/Serialization.java +++ b/src/main/java/com/github/fabienrenaud/jjb/stream/Serialization.java @@ -4,6 +4,8 @@ import java.io.OutputStreamWriter; import java.io.Writer; +import com.cedarsoftware.io.JsonIo; +import com.cedarsoftware.io.WriteOptionsBuilder; import org.openjdk.jmh.annotations.Benchmark; import com.fasterxml.jackson.core.JsonGenerator; @@ -93,8 +95,10 @@ public Object genson() throws Exception { @Benchmark @Override - public Object jsonio() throws Exception { - return com.cedarsoftware.util.io.JsonWriter.objectToJson(JSON_SOURCE().nextPojo(), JSON_SOURCE().provider().jsonioStreamOptions()); + public Object jsonio() { + + // showTypeInfoNever maps to old TYPE=false behavior see {@link JsonIo#getWriteOptionsBuilder(java.util.Map)} + return JsonIo.toJson(JSON_SOURCE().nextPojo(), new WriteOptionsBuilder().showTypeInfoNever().build()); } @Benchmark diff --git a/src/test/java/com/github/fabienrenaud/jjb/JsonBenchmark.java b/src/test/java/com/github/fabienrenaud/jjb/JsonBenchmark.java index 05c9679..f76126d 100644 --- a/src/test/java/com/github/fabienrenaud/jjb/JsonBenchmark.java +++ b/src/test/java/com/github/fabienrenaud/jjb/JsonBenchmark.java @@ -1,5 +1,6 @@ package com.github.fabienrenaud.jjb; +import com.cedarsoftware.io.WriteOptionsBuilder; import com.github.fabienrenaud.jjb.model.Clients; import com.github.fabienrenaud.jjb.model.Users; import com.github.fabienrenaud.jjb.support.Api; @@ -34,8 +35,8 @@ protected void test(Library lib, Object o) { if (o instanceof Users || o instanceof Clients) { testPojo((T) o); - } else if (o instanceof com.cedarsoftware.util.io.JsonObject) { - String v = com.cedarsoftware.util.io.JsonWriter.objectToJson(o, BENCH.JSON_SOURCE().provider().jsonioStreamOptions()); + } else if (o instanceof com.cedarsoftware.io.JsonObject) { + String v = com.cedarsoftware.io.JsonIo.toJson(o, new WriteOptionsBuilder().showTypeInfoNever().build()); testString(v); } else if (o instanceof com.grack.nanojson.JsonObject) { String v = com.grack.nanojson.JsonWriter.string(o); From e16e0bcf1e3e24e0f0782eddecd844bb63d2ad97 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:25:36 +0200 Subject: [PATCH 14/16] Update dsl-json major release version to v2.0.2 --- README.md | 2 +- build.gradle | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5597b8e..932e83d 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ The results here-below were computed on January the 30th, 2024 with the followin |--------------|----------| | avaje-jsonb | 1.11 | | boon | 0.34 | -| dsl-json | 1.10.0 | +| dsl-json | 2.0.2 | | fastjson | 2.0.46 | | flexjson | 3.3 | | genson | 1.6 | diff --git a/build.gradle b/build.gradle index 5ba969f..be1a47d 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ repositories { ext { avajeJsonVersion = '1.11' jacksonVersion = '2.17.1' - dslJsonVersion = '1.10.0' + dslJsonVersion = '2.0.2' johnzonVersion = '1.2.21' jmhVersion = '1.35' } @@ -42,8 +42,8 @@ dependencies { // boon implementation group: 'io.fastjson', name: 'boon', version: '0.34' // DSL-json - implementation group: 'com.dslplatform', name: 'dsl-json-java8', version: "${dslJsonVersion}" - annotationProcessor group: 'com.dslplatform', name: 'dsl-json-java8', version: "${dslJsonVersion}" + implementation group: 'com.dslplatform', name: 'dsl-json', version: "${dslJsonVersion}" + annotationProcessor group: 'com.dslplatform', name: 'dsl-json', version: "${dslJsonVersion}" // FastJson implementation group: 'com.alibaba.fastjson2', name: 'fastjson2', version: '2.0.48' implementation group: 'com.alibaba.fastjson2', name: 'fastjson2-incubator-vector', version: '2.0.48' From 8233b79975c426fb807d94c174f239f10af61ef0 Mon Sep 17 00:00:00 2001 From: Philzen Date: Sun, 26 May 2024 09:59:24 +0200 Subject: [PATCH 15/16] Update johnzon major release version to v2.0.1 --- README.md | 2 +- build.gradle | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 932e83d..e193ad2 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ The results here-below were computed on January the 30th, 2024 with the followin | gson | 2.11.0 | | jackson | 2.17.1 | | jodd json | 6.0.3 | -| johnzon | 1.2.21 | +| johnzon | 2.0.1 | | jakarta | 2.1.3 | | json-io | 4.24.0 | | simplejson | 1.1.1 | diff --git a/build.gradle b/build.gradle index be1a47d..0c2c7b6 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ ext { avajeJsonVersion = '1.11' jacksonVersion = '2.17.1' dslJsonVersion = '2.0.2' - johnzonVersion = '1.2.21' + johnzonVersion = '2.0.1' jmhVersion = '1.35' } @@ -61,8 +61,8 @@ dependencies { // jodd implementation group: 'org.jodd', name: 'jodd-json', version: '6.0.3' // johnzon - implementation group: 'org.apache.johnzon', name: 'johnzon-core', classifier: 'jakarta', version: "${johnzonVersion}" - implementation group: 'org.apache.johnzon', name: 'johnzon-mapper', classifier: 'jakarta', version: "${johnzonVersion}" + implementation group: 'org.apache.johnzon', name: 'johnzon-core', version: "${johnzonVersion}" + implementation group: 'org.apache.johnzon', name: 'johnzon-mapper', version: "${johnzonVersion}" // Jakarta implementation group: 'jakarta.json.bind', name: 'jakarta.json.bind-api', version: '3.0.1' implementation group: 'jakarta.json', name: 'jakarta.json-api', version: '2.1.3' From 47fe0582350175087bec0f7e1e5f9a9edd57a13c Mon Sep 17 00:00:00 2001 From: Philzen Date: Thu, 30 May 2024 00:35:04 +0200 Subject: [PATCH 16/16] Revert lib updates to README.md, keeping corrected json-io version --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e193ad2..55b24f5 100644 --- a/README.md +++ b/README.md @@ -58,30 +58,30 @@ The results here-below were computed on January the 30th, 2024 with the followin | Library | Version | |--------------|----------| -| avaje-jsonb | 1.11 | +| avaje-jsonb | 1.9 | | boon | 0.34 | -| dsl-json | 2.0.2 | +| dsl-json | 1.10.0 | | fastjson | 2.0.46 | | flexjson | 3.3 | | genson | 1.6 | -| gson | 2.11.0 | -| jackson | 2.17.1 | +| gson | 2.10.1 | +| jackson | 2.16.0 | | jodd json | 6.0.3 | -| johnzon | 2.0.1 | +| johnzon | 1.2.21 | | jakarta | 2.1.3 | | json-io | 4.24.0 | | simplejson | 1.1.1 | -| json-smart | 2.5.1 | +| json-smart | 2.4.11 | | logansquare | 1.3.7 | | minimal-json | 0.9.5 | | mjson | 1.4.1 | -| moshi | 1.15.1 | -| nanojson | 1.9 | -| org.json | 20240303 | +| moshi | 1.15.0 | +| nanojson | 1.8 | +| org.json | 20231013 | | purejson | 1.0.1 | | qson | 1.1.1 | -| tapestry | 5.8.6 | -| underscore | 1.101 | +| tapestry | 5.8.3 | +| underscore | 1.97 | | yasson | 3.0.3 | | wast | 0.0.12.1 | @@ -194,4 +194,4 @@ Pull requests are welcome. [graph-users-deser]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQDBLUYgQ9BhFL_yxZidD1dRG-VYn2aFjMAwc2p6pl_J72XME4lopY8LcyHzTdC5QhISqIrSdkL-Vyt/pubchart?oid=1217359585&format=image [graph-users-ser]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQDBLUYgQ9BhFL_yxZidD1dRG-VYn2aFjMAwc2p6pl_J72XME4lopY8LcyHzTdC5QhISqIrSdkL-Vyt/pubchart?oid=296776676&format=image [graph-clients-deser]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQDBLUYgQ9BhFL_yxZidD1dRG-VYn2aFjMAwc2p6pl_J72XME4lopY8LcyHzTdC5QhISqIrSdkL-Vyt/pubchart?oid=684555912&format=image -[graph-clients-ser]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQDBLUYgQ9BhFL_yxZidD1dRG-VYn2aFjMAwc2p6pl_J72XME4lopY8LcyHzTdC5QhISqIrSdkL-Vyt/pubchart?oid=2004244401&format=image \ No newline at end of file +[graph-clients-ser]: https://docs.google.com/spreadsheets/d/e/2PACX-1vQDBLUYgQ9BhFL_yxZidD1dRG-VYn2aFjMAwc2p6pl_J72XME4lopY8LcyHzTdC5QhISqIrSdkL-Vyt/pubchart?oid=2004244401&format=image