Gson 自定义序列化不适用于 java.lang.Object

萨沙

我正在编写自定义 Gson 序列化程序

public class DogSerializer implements JsonSerializer<Object> {
@Override
public JsonElement serialize(Object src, Type typeOfSrc, 
JsonSerializationContext context) {

  JsonObject obj = new JsonObject();
  obj.addProperty("name", "sasha");
  return obj;
}

我也在注册序列化器

GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Object.class, new DogSerializer());

现在,如果我这样做System.out.println(gsonBuilder.create().toJson([My-Test-Class])),则永远不会调用序列化程序。我希望在我通过时为所有字段调用序列化程序My-test-ClassObject.class似乎不起作用。我应该怎么办?

柳博米尔·沙伊达里夫

我应该怎么办?

如果可能,重新设计您的方法并绑定其他类型。您不能覆盖java.lang.Objectand 的序列化策略com.google.gson.JsonElement2.8.1 开始和之前的设计):

// built-in type adapters that cannot be overridden
factories.add(TypeAdapters.JSON_ELEMENT_FACTORY);
factories.add(ObjectTypeAdapter.FACTORY);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Gson-com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

来自分类Dev

获取java.lang.ClassNotFoundException:com.google.gson.Gson用于Maven项目

来自分类Dev

Java中的Gson:尝试反序列化java.lang.Class。忘记注册类型代言人

来自分类Dev

Java中的Gson:试图反序列化java.lang.Class。忘记注册类型代言人

来自分类Dev

java.lang.IllegalStateException:使用GSON解析Json时,JSON OBJECT和JSON ARRAY

来自分类Dev

Gson和Active Android:尝试序列化java.lang.Class。忘记注册类型适配器?

来自分类Dev

java.lang.NoClassDefFoundError:com.google.gson.Gson

来自分类Dev

Java中的GSON反序列化

来自分类Dev

将默认序列化程序应用于自定义序列化程序(GSON)中的属性

来自分类Dev

List <Object>序列化不适用于多个对象

来自分类Dev

GSON自定义序列化程序,用于带有“收集”字段的对象

来自分类Dev

Gson自定义反序列化器,用于String类

来自分类Dev

gson嵌套的自定义序列化程序

来自分类Dev

Android GSON自定义反序列化

来自分类Dev

使用GSON自定义反序列化枚举

来自分类Dev

原始数组的自定义Gson反序列化

来自分类Dev

使用 GSON 序列化自定义类

来自分类Dev

尝试迭代Java中数组列表的数组列表时,foreach不适用于java.lang.object和编译错误

来自分类Dev

尝试遍历Java中数组列表的数组列表时,foreach不适用于java.lang.object和编译错误

来自分类Dev

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

来自分类Dev

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

来自分类Dev

如何使用Messagepack序列化JSON文档(找不到类java.lang.Object的模板)?

来自分类Dev

AWS无法从START_OBJECT中反序列化java.lang.String实例

来自分类Dev

JsonMappingException:无法从START_OBJECT令牌中反序列化java.lang.Integer的实例

来自分类Dev

无法从START_OBJECT令牌中反序列化`java.util.ArrayList <java.lang.Object>`的实例

来自分类Dev

如何使用GSON反序列化Map <String,Object>

来自分类Dev

Gson反序列化json。java.lang.RuntimeException:根本原因无法调用无args的公共com.derp.procedure.model.SkeletonElement()

来自分类Dev

自定义TextView字体不适用于从Java Android设置文本

来自分类Dev

数组的Java gson数组:java.lang.IllegalStateException

Related 相关文章

  1. 1

    Google Gson-com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

  2. 2

    获取java.lang.ClassNotFoundException:com.google.gson.Gson用于Maven项目

  3. 3

    Java中的Gson:尝试反序列化java.lang.Class。忘记注册类型代言人

  4. 4

    Java中的Gson:试图反序列化java.lang.Class。忘记注册类型代言人

  5. 5

    java.lang.IllegalStateException:使用GSON解析Json时,JSON OBJECT和JSON ARRAY

  6. 6

    Gson和Active Android:尝试序列化java.lang.Class。忘记注册类型适配器?

  7. 7

    java.lang.NoClassDefFoundError:com.google.gson.Gson

  8. 8

    Java中的GSON反序列化

  9. 9

    将默认序列化程序应用于自定义序列化程序(GSON)中的属性

  10. 10

    List <Object>序列化不适用于多个对象

  11. 11

    GSON自定义序列化程序,用于带有“收集”字段的对象

  12. 12

    Gson自定义反序列化器,用于String类

  13. 13

    gson嵌套的自定义序列化程序

  14. 14

    Android GSON自定义反序列化

  15. 15

    使用GSON自定义反序列化枚举

  16. 16

    原始数组的自定义Gson反序列化

  17. 17

    使用 GSON 序列化自定义类

  18. 18

    尝试迭代Java中数组列表的数组列表时,foreach不适用于java.lang.object和编译错误

  19. 19

    尝试遍历Java中数组列表的数组列表时,foreach不适用于java.lang.object和编译错误

  20. 20

    com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

  21. 21

    com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

  22. 22

    如何使用Messagepack序列化JSON文档(找不到类java.lang.Object的模板)?

  23. 23

    AWS无法从START_OBJECT中反序列化java.lang.String实例

  24. 24

    JsonMappingException:无法从START_OBJECT令牌中反序列化java.lang.Integer的实例

  25. 25

    无法从START_OBJECT令牌中反序列化`java.util.ArrayList <java.lang.Object>`的实例

  26. 26

    如何使用GSON反序列化Map <String,Object>

  27. 27

    Gson反序列化json。java.lang.RuntimeException:根本原因无法调用无args的公共com.derp.procedure.model.SkeletonElement()

  28. 28

    自定义TextView字体不适用于从Java Android设置文本

  29. 29

    数组的Java gson数组:java.lang.IllegalStateException

热门标签

归档