簡體   English   中英

如何判斷哪個字段Gson序列化失敗

[英]How to tell which field failed Gson serialization

我正在使用new Gson().fromJson(String, Class<?>)序列化一些相當復雜的對象,即使我的所有屬性看起來都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告訴我它失敗的字段名稱嗎?

我發現的唯一方法是,在調試模式下,嘗試一次執行相同的操作,每次都刪除一個字段...不是一個好的答案,但是我找不到更好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM