【问题标题】:How to tell which field failed Gson serialization如何判断 Gson 序列化失败的字段
【发布时间】:2014-07-30 04:16:03
【问题描述】:

我正在使用 new Gson().fromJson(String, Class<?>) 序列化一些相当复杂的对象,即使我的所有属性看起来都不错,我仍然得到这个堆栈跟踪:

06-09 10:10:58.768: E/AndroidRuntime(27775): FATAL EXCEPTION: main
06-09 10:10:58.768: E/AndroidRuntime(27775): Process: com.my.project, PID: 27775
06-09 10:10:58.768: E/AndroidRuntime(27775): java.lang.IllegalArgumentException: invalid value for field
06-09 10:10:58.768: E/AndroidRuntime(27775):    at java.lang.reflect.Field.setField(Native Method)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at java.lang.reflect.Field.set(Field.java:585)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:95)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.Gson.fromJson(Gson.java:803)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.Gson.fromJson(Gson.java:768)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.Gson.fromJson(Gson.java:717)
06-09 10:10:58.768: E/AndroidRuntime(27775):    at com.google.gson.Gson.fromJson(Gson.java:689)
... more

有什么方法可以让 Gson 告诉我它失败的字段名称吗?

【问题讨论】:

    标签: java android serialization reflection gson


    【解决方案1】:

    我找到的唯一方法是,在调试模式下,尝试每次删除一个字段的相同操作... 不是一个好的答案,但我找不到更好的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多