GSON: serialize/deserialize object of class, that have registered type hierarchy adapter, using ReflectiveTypeAdapterFactory.Adapter
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: To be clear, let introduse some model: interface A { boolean isSomeCase(); } class AAdapter implements JsonSerializer<A> { public JsonElement serialize(A src, Type typeOfSrc, JsonSerializationContext context) { if (src.isSomeCase()) { /* some logic */ return result; } else { JsonObject json = new JsonObject(); JsonElement valueJson = <???>; // TODO serialize src like POJO json.add(src.getClass().getSimpleName(), valueJson); return json; } } } Gson gson = new GsonBuilder() .registerTypeHierarchyAdapter(A.class. new AAdapter()) .create(); How