Skip to content

gson.toJson 抛出 java.lang.AssertionError: java.lang.NoSuchFieldException: ONLINE #2038

@meijieman

Description

@meijieman

Gson version

com.google.code.gson:gson:2.8.0

Java / Android version

Android 9+as arctic fox

Used tools

  • Maven; version:
  • Gradle; version: api 'com.google.code.gson:gson:2.8.0'
  • ProGuard (attach the configuration file please); version:
  • ...

Description

new Gson().toJsont(object); enter crash.

found into this code
image

why throw new AssertionError(e); , not NoSuchFieldException

Expected behavior

not crash!!!

Actual behavior

crashed !!! even add try-catch(Exception e)

Reproduction steps

  1. ...
  2. ...

Exception stack trace

java.lang.AssertionError: java.lang.NoSuchFieldException: ONLINE
        at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.<init>(TypeAdapters.java:808)
        at com.google.gson.internal.bind.TypeAdapters$30.create(TypeAdapters.java:834)
        at com.google.gson.Gson.getAdapter(Gson.java:423)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
        at com.google.gson.Gson.getAdapter(Gson.java:423)
        at com.google.gson.Gson.toJson(Gson.java:661)
        at com.google.gson.Gson.toJson(Gson.java:648)
        at com.google.gson.Gson.toJson(Gson.java:603)
        at com.google.gson.Gson.toJson(Gson.java:583)
        at com.xxx.util.json.JsonUtil.toJson(JsonUtil.java:204)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions