Java Gson-从数组中删除null

Java Gson-从数组中删除null,java,serialization,gson,Java,Serialization,Gson,我知道gson默认情况下不会序列化空字段。但是,它会序列化JsonArray中的空对象。我想做的是让gson从所有数组中删除所有这样的空对象。有没有关于解决这个问题的“正确”方法的想法?我宁愿避免为列表编写自定义序列化程序,而这些列表只会从JsonArray中删除null。为什么需要它?跳过空字段是合理的,因为不管顺序如何,它们都可以通过唯一键反序列化回来。数组是位置数据结构,删除空值后,数组索引将向左移动,因此无法对等效对象进行反序列化。这听起来像是一种数据丢失。@LyubomyrShayda

我知道gson默认情况下不会序列化空字段。但是,它会序列化JsonArray中的空对象。我想做的是让gson从所有数组中删除所有这样的空对象。有没有关于解决这个问题的“正确”方法的想法?我宁愿避免为列表编写自定义序列化程序,而这些列表只会从JsonArray中删除null。

为什么需要它?跳过空字段是合理的,因为不管顺序如何,它们都可以通过唯一键反序列化回来。数组是位置数据结构,删除空值后,数组索引将向左移动,因此无法对等效对象进行反序列化。这听起来像是一种数据丢失。@LyubomyrShaydariv在我的客户机-服务器场景中,我试图对客户机隐藏尽可能多的不必要信息(如空对象)。正在更新的数组索引根本不是问题。然后,您可以在服务器端准备一个不带null的数组(这似乎与您的问题最匹配),或者在客户端过滤掉数组null元素。序列化程序和反序列化程序原则上不应修改序列化/反序列化对象。