美文网首页
com.google.gson.JsonSyntaxExcept

com.google.gson.JsonSyntaxExcept

作者: 晖仔Milo | 来源:发表于2020-03-24 16:34 被阅读0次

    使用Rxjava+Retrofit开发的时候,GSON抛出了
    com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String
    因为没有索引,解决起来很是恼火。

    解决办法:
    定位到类
    ReflectiveTypeAdapterFactory

        @Override public T read(JsonReader in) throws IOException {
          if (in.peek() == JsonToken.NULL) {
            in.nextNull();
            return null;
          }
    
          T instance = constructor.construct();
    
          try {
            in.beginObject();
            while (in.hasNext()) {
              String name = in.nextName();
              BoundField field = boundFields.get(name);
              if (field == null || !field.deserialized) {
                in.skipValue();
              } else {
                field.read(in, instance);
              }
            }
          } catch (IllegalStateException e) {
            throw new JsonSyntaxException(e);
          } catch (IllegalAccessException e) {
            throw new AssertionError(e);
          }
          in.endObject();
          return instance;
        }
    

    开启debug模式,一步步跟踪,哪个步骤抛出异常了,就说明哪个字段不对。

    相关文章

      网友评论

          本文标题:com.google.gson.JsonSyntaxExcept

          本文链接:https://www.haomeiwen.com/subject/rltayhtx.html