empty string java_gson java.lang.NumberFormatException: empty String
标题:
gson 序列化model 闪退
错误信息:
java.lang.NumberFormatException: empty String
错误原因:
类型不统一,gson 后台 string 转 int时,“” 导致崩溃
eg:
{
"name" : "Test1",
"business_type" : "90"
}
{
"name" : "Test1",
"business_type" : ""
}
@SerializedName("business_type")
int businessType;
解决方案:
Gson gson = new Gson();
替换为
private Gson gson = new GsonBuilder()
.registerTypeAdapter(int.class, new IntTypeAdapter())
.registerTypeAdapter(Integer.class, new IntTypeAdapter()).create();
工具类如下
class IntTypeAdapter extends TypeAdapter {
@Override
public void write(JsonWriter out, Number value)
throws IOException {
out.value(value);
}
@Override
public Number read(JsonReader in) throws IOException {
if (in.peek() == JsonToken.NULL) {
in.nextNull();
return null;
}
try {
String result = in.nextString();
if ("".equals(result)) {
return null;
}
return Integer.parseInt(result);
} catch (NumberFormatException e) {
throw new JsonSyntaxException(e);
}
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)