根据GSON中的值从序列化中排除某些字段

根据GSON中的值从序列化中排除某些字段,第1张

根据GSON中的值从序列化中排除某些字段

实现此目的的方法是为相关类创建自定义序列化程序。在允许Gson以默认方式创建JSON对象之后,请根据其值删除要排除的属性。

public class SerializerForMyClass implements JsonSerializer<MyClass> {    @Override    public JsonElement serialize(MyClass obj, Type type, JsonSerializationContext jsc) {        Gson gson = new Gson();        JsonObject jObj = (JsonObject)gson.toJsonTree(obj);if(obj.getMyProperty()==0){ jObj.remove("myProperty");        }        return jObj;    }}

并在用于此类的应用程序中用于序列化的Gson对象中注册新的序列化器。

GsonBuilder gsonBuilder = new GsonBuilder();gsonBuilder.registerTypeAdapter(MyClass.class, new SerializerForMyClass());Gson gson=gsonBuilder.create();gson.toJson(myObjectOfTypeMyClass);


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5587131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存