`

Gson将整形自动转为double

 
阅读更多
1,首先原始代码用的是gson_2.2.1版本,后来发现2.2.1对String,Double做了限制,如果注册直接抛出异常
2,然后换成gson_2.2.4版本,Double类型可以注册,上代码
    private static Gson gson;
    static {
        gson = new GsonBuilder().registerTypeAdapter(Double.class, new JsonSerializer<Double>() {
            @Override
            public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) {
                if(src == src.longValue()){
                    return new JsonPrimitive(src.longValue());
                }
                return new JsonPrimitive(src);
            }
        }).create();
    }
3,替换成2.2.4版本在Android Studio上遇到了包冲突问题,在File->Project Structure-> app-> Dependencies删除gson_2.2.1.jar再加入gson_2.2.4即可
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics