使用Gson将数值字符串转换成int类型报错

2019-01-03  本文已影响0人  郑捡书
  • \color{#ea4335}{json}字段的数据为\color{#ea4335}{String},而声明接收的数据\color{#ea4335}{Bean}的对应字段类型为\color{#ea4335}{int}类型的时候,只要不为空串则能自动转换接收,如果为空串则会报出\color{#ea4335}{NumberFormatException}异常。
  • 实际数据Bean还是按照返回json数据类型声明的最为安全可靠

实体Bean

public class TestBean {

    private int i;

    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }
}
  // 模拟json,value存在内容
        String json = "{\"i\":\"11\"}";
        Gson gson = new Gson();
        TestBean bean = gson.fromJson(json, TestBean.class);
        int i = bean.getI();
        // 能正常打印内容
        Log.i("打印", "i"+i);
  // 模拟json,value不存在内容
        String json = "{\"i\":\"\"}";
        Gson gson = new Gson();
        TestBean bean = gson.fromJson(json, TestBean.class);
        int i = bean.getI();
        // 能正常打印内容
        Log.i("打印", "i"+i);
数字转换异常
上一篇 下一篇

猜你喜欢

热点阅读