Skip to content

Commit 4cda251

Browse files
committed
Turn off serialization of empty collections for zio-json
1 parent af4da94 commit 4cda251

File tree

15 files changed

+16
-15
lines changed

15 files changed

+16
-15
lines changed

jsoniter-scala-benchmark/js/src/main/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/Main.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1421,7 +1421,7 @@ object Main {
14211421
B("playJsonJsoniter")(benchmark.playJsonJsoniter()),
14221422
B("smithy4sJson")(benchmark.smithy4sJson()),
14231423
B("uPickle")(benchmark.uPickle())
1424-
//FIXME: zio-json serializes empty collections
1424+
//FIXME: zio-json serializes default values
14251425
//B("zioJson")(benchmark.zioJson()),
14261426
//FIXME: zio-schema-json serializes default values
14271427
//B("zioSchemaJson")(benchmark.zioSchemaJson())

jsoniter-scala-benchmark/js/src/main/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/Main.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1316,7 +1316,7 @@ object Main {
13161316
B("playJsonJsoniter")(benchmark.playJsonJsoniter()),
13171317
B("smithy4sJson")(benchmark.smithy4sJson()),
13181318
B("uPickle")(benchmark.uPickle())
1319-
//FIXME: zio-json serializes empty collections
1319+
//FIXME: zio-json serializes default values
13201320
//B("zioJson")(benchmark.zioJson()),
13211321
//FIXME: zio-schema-json serializes default values
13221322
//B("zioSchemaJson")(benchmark.zioSchemaJson())

jsoniter-scala-benchmark/js/src/test/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class OpenRTBWritingSpec extends BenchmarkSpecBase {
1818
toString(b.playJsonJsoniter()) shouldBe b.jsonString1
1919
toString(b.smithy4sJson()) shouldBe b.jsonString1
2020
toString(b.uPickle()) shouldBe b.jsonString1
21-
//FIXME: zio-json serializes empty collections
21+
//FIXME: zio-json serializes default values
2222
//toString(b.zioJson()) shouldBe b.jsonString1
2323
//FIXME: zio-schema-json serializes default values
2424
//toString(b.zioSchemaJson()) shouldBe b.jsonString1

jsoniter-scala-benchmark/js/src/test/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TwitterAPIWritingSpec extends BenchmarkSpecBase {
1818
toString(b.playJsonJsoniter()) shouldBe b.compactJsonString1
1919
toString(b.smithy4sJson()) shouldBe b.compactJsonString1
2020
toString(b.uPickle()) shouldBe b.compactJsonString1
21-
//FIXME: zio-json serializes empty collections
21+
//FIXME: zio-json serializes default values
2222
//toString(b.zioJson()) shouldBe b.compactJsonString1
2323
toString(b.zioSchemaJson()) shouldBe b.compactJsonString1
2424
}

jsoniter-scala-benchmark/js/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class OpenRTBWritingSpec extends BenchmarkSpecBase {
1717
toString(b.playJsonJsoniter()) shouldBe b.jsonString1
1818
toString(b.smithy4sJson()) shouldBe b.jsonString1
1919
toString(b.uPickle()) shouldBe b.jsonString1
20-
//FIXME: zio-json serializes empty collections
20+
//FIXME: zio-json serializes default values
2121
//toString(b.zioJson()) shouldBe b.jsonString1
2222
//FIXME: zio-schema-json serializes default values
2323
//toString(b.zioSchemaJson()) shouldBe b.jsonString1

jsoniter-scala-benchmark/js/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TwitterAPIWritingSpec extends BenchmarkSpecBase {
1717
toString(b.playJsonJsoniter()) shouldBe b.compactJsonString1
1818
toString(b.smithy4sJson()) shouldBe b.compactJsonString1
1919
toString(b.uPickle()) shouldBe b.compactJsonString1
20-
//FIXME: zio-json serializes empty collections
20+
//FIXME: zio-json serializes default values
2121
//toString(b.zioJson()) shouldBe b.compactJsonString1
2222
toString(b.zioSchemaJson()) shouldBe b.compactJsonString1
2323
}

jsoniter-scala-benchmark/jvm/src/test/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class OpenRTBWritingSpec extends BenchmarkSpecBase {
2626
toString(b.sprayJson()) shouldBe b.jsonString2
2727
toString(b.uPickle()) shouldBe b.jsonString1
2828
toString(b.weePickle()) shouldBe b.jsonString1
29-
//FIXME: zio-json serializes empty collections
29+
//FIXME: zio-json serializes default values
3030
//toString(b.zioJson()) shouldBe b.jsonString1
3131
//FIXME: zio-schema-json serializes default values
3232
//toString(b.zioSchemaJson()) shouldBe b.jsonString1

jsoniter-scala-benchmark/jvm/src/test/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class TwitterAPIWritingSpec extends BenchmarkSpecBase {
2727
toString(b.sprayJson()) shouldBe b.compactJsonString2
2828
toString(b.uPickle()) shouldBe b.compactJsonString1
2929
toString(b.weePickle()) shouldBe b.compactJsonString1
30-
//FIXME: zio-json serializes empty collections
30+
//FIXME: zio-json serializes default values
3131
//toString(b.zioJson()) shouldBe b.compactJsonString1
3232
toString(b.zioSchemaJson()) shouldBe b.compactJsonString1
3333
}

jsoniter-scala-benchmark/jvm/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class OpenRTBWritingSpec extends BenchmarkSpecBase {
2525
toString(b.sprayJson()) shouldBe b.jsonString2
2626
toString(b.uPickle()) shouldBe b.jsonString1
2727
toString(b.weePickle()) shouldBe b.jsonString1
28-
//FIXME: zio-json serializes empty collections
28+
//FIXME: zio-json serializes default values
2929
//toString(b.zioJson()) shouldBe b.jsonString1
3030
//FIXME: zio-schema-json serializes default values
3131
//toString(b.zioSchemaJson()) shouldBe b.jsonString1

jsoniter-scala-benchmark/jvm/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWritingSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class TwitterAPIWritingSpec extends BenchmarkSpecBase {
2424
toString(b.sprayJson()) shouldBe b.compactJsonString2
2525
toString(b.uPickle()) shouldBe b.compactJsonString1
2626
toString(b.weePickle()) shouldBe b.compactJsonString1
27-
//FIXME: zio-json serializes empty collections
27+
//FIXME: zio-json serializes default values
2828
//toString(b.zioJson()) shouldBe b.compactJsonString1
2929
toString(b.zioSchemaJson()) shouldBe b.compactJsonString1
3030
}

jsoniter-scala-benchmark/shared/src/main/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWriting.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class OpenRTBWriting extends OpenRTBBenchmark {
130130

131131
FromScala(obj).transform(ToJson.bytes)
132132
}
133-
/* FIXME: zio-json serializes empty collections
133+
/* FIXME: zio-json serializes default values
134134
@Benchmark
135135
def zioJson(): Array[Byte] = {
136136
import com.github.plokhotnyuk.jsoniter_scala.benchmark.ZioJsonCodecs._

jsoniter-scala-benchmark/shared/src/main/scala-2/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWriting.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class TwitterAPIWriting extends TwitterAPIBenchmark {
138138

139139
FromScala(obj).transform(ToJson.bytes)
140140
}
141-
/* FIXME: zio-json serializes empty collections
141+
/* FIXME: zio-json serializes default values
142142
@Benchmark
143143
def zioJson(): Array[Byte] = {
144144
import com.github.plokhotnyuk.jsoniter_scala.benchmark.ZioJsonCodecs._

jsoniter-scala-benchmark/shared/src/main/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/OpenRTBWriting.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class OpenRTBWriting extends OpenRTBBenchmark {
120120

121121
FromScala(obj).transform(ToJson.bytes)
122122
}
123-
/* FIXME: zio-json serializes empty collections
123+
/* FIXME: zio-json serializes default values
124124
@Benchmark
125125
def zioJson(): Array[Byte] = {
126126
import com.github.plokhotnyuk.jsoniter_scala.benchmark.ZioJsonCodecs._

jsoniter-scala-benchmark/shared/src/main/scala-3/com/github/plokhotnyuk/jsoniter_scala/benchmark/TwitterAPIWriting.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class TwitterAPIWriting extends TwitterAPIBenchmark {
122122

123123
FromScala(obj).transform(ToJson.bytes)
124124
}
125-
/* FIXME: zio-json serializes empty collections
125+
/* FIXME: zio-json serializes default values
126126
@Benchmark
127127
def zioJson(): Array[Byte] = {
128128
import com.github.plokhotnyuk.jsoniter_scala.benchmark.ZioJsonCodecs._

jsoniter-scala-benchmark/shared/src/main/scala/com/github/plokhotnyuk/jsoniter_scala/benchmark/ZioJsonCodecs.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ package com.github.plokhotnyuk.jsoniter_scala.benchmark
33
import com.github.plokhotnyuk.jsoniter_scala.benchmark.SuitEnum.SuitEnum
44
import zio.json.JsonDecoder.{JsonError, UnsafeJson}
55
import zio.json.internal.{Lexer, RetractReader, Write}
6-
import zio.json.{DeriveJsonCodec, JsonCodec, JsonDecoder, JsonEncoder}
6+
import zio.json.{DeriveJsonCodec, JsonCodec, JsonCodecConfiguration, JsonDecoder, JsonEncoder}
77
import java.util.Base64
88
import scala.collection.immutable.ArraySeq
99
import scala.reflect.ClassTag
1010

1111
object ZioJsonCodecs {
12+
implicit val config: JsonCodecConfiguration = JsonCodecConfiguration(explicitEmptyCollections = false)
1213
implicit val adtC3c: JsonCodec[ADTBase] = DeriveJsonCodec.gen
1314
implicit val geoJsonC3c: JsonCodec[GeoJSON.GeoJSON] = {
1415
implicit val c1: JsonCodec[GeoJSON.SimpleGeometry] = DeriveJsonCodec.gen

0 commit comments

Comments
 (0)