From 102d645cc240cc418bfb344b6d3d1cc4a9715242 Mon Sep 17 00:00:00 2001 From: Rico Yao Date: Thu, 25 Jul 2019 20:36:35 -0700 Subject: [PATCH] Java models should not include null fields when serialized into Json (#225) This makes the output JSON significantly more compact for models where only a few fields are set. --- Examples/Java/Sources/Board.java | 1 + Examples/Java/Sources/Everything.java | 1 + Examples/Java/Sources/Image.java | 1 + Examples/Java/Sources/Model.java | 1 + Examples/Java/Sources/Pin.java | 1 + Examples/Java/Sources/User.java | 1 + Examples/Java/Sources/VariableSubtitution.java | 1 + Sources/Core/JavaModelRenderer.swift | 1 + 8 files changed, 8 insertions(+) diff --git a/Examples/Java/Sources/Board.java b/Examples/Java/Sources/Board.java index ac307eb7..b002d7d0 100644 --- a/Examples/Java/Sources/Board.java +++ b/Examples/Java/Sources/Board.java @@ -478,6 +478,7 @@ public BoardTypeAdapter(Gson gson, BoardTypeAdapterFactory factory, TypeToken ty @Override public void write(JsonWriter writer, Board value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/Everything.java b/Examples/Java/Sources/Everything.java index 5fb4dece..fe403c95 100644 --- a/Examples/Java/Sources/Everything.java +++ b/Examples/Java/Sources/Everything.java @@ -1564,6 +1564,7 @@ public EverythingTypeAdapter(Gson gson, EverythingTypeAdapterFactory factory, Ty @Override public void write(JsonWriter writer, Everything value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/Image.java b/Examples/Java/Sources/Image.java index eb2c5999..06948125 100644 --- a/Examples/Java/Sources/Image.java +++ b/Examples/Java/Sources/Image.java @@ -227,6 +227,7 @@ public ImageTypeAdapter(Gson gson, ImageTypeAdapterFactory factory, TypeToken ty @Override public void write(JsonWriter writer, Image value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/Model.java b/Examples/Java/Sources/Model.java index 472ffa3b..cbf0696b 100644 --- a/Examples/Java/Sources/Model.java +++ b/Examples/Java/Sources/Model.java @@ -153,6 +153,7 @@ public ModelTypeAdapter(Gson gson, ModelTypeAdapterFactory factory, TypeToken ty @Override public void write(JsonWriter writer, Model value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/Pin.java b/Examples/Java/Sources/Pin.java index d8f4108a..471be8ef 100644 --- a/Examples/Java/Sources/Pin.java +++ b/Examples/Java/Sources/Pin.java @@ -751,6 +751,7 @@ public PinTypeAdapter(Gson gson, PinTypeAdapterFactory factory, TypeToken typeTo @Override public void write(JsonWriter writer, Pin value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/User.java b/Examples/Java/Sources/User.java index 6b30ce46..cd4cbb2a 100644 --- a/Examples/Java/Sources/User.java +++ b/Examples/Java/Sources/User.java @@ -480,6 +480,7 @@ public UserTypeAdapter(Gson gson, UserTypeAdapterFactory factory, TypeToken type @Override public void write(JsonWriter writer, User value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Examples/Java/Sources/VariableSubtitution.java b/Examples/Java/Sources/VariableSubtitution.java index 0cb20957..23d21774 100644 --- a/Examples/Java/Sources/VariableSubtitution.java +++ b/Examples/Java/Sources/VariableSubtitution.java @@ -262,6 +262,7 @@ public VariableSubtitutionTypeAdapter(Gson gson, VariableSubtitutionTypeAdapterF @Override public void write(JsonWriter writer, VariableSubtitution value) throws IOException { + writer.setSerializeNulls(false); this.delegateTypeAdapter.write(writer, value); } diff --git a/Sources/Core/JavaModelRenderer.swift b/Sources/Core/JavaModelRenderer.swift index c15f6311..28c1b721 100644 --- a/Sources/Core/JavaModelRenderer.swift +++ b/Sources/Core/JavaModelRenderer.swift @@ -306,6 +306,7 @@ public struct JavaModelRenderer: JavaFileRenderer { "void write(JsonWriter writer, " + className + " value)", ["IOException"] ) { [ + "writer.setSerializeNulls(false);", "this.delegateTypeAdapter.write(writer, value);", ] }