GSON 反序列化时,字符串被转换成科学记数法的问题处理

前言

String strJson = "{\"errcode\":0,\"errmsg\":\"send job submission success\",\"msg_id\":1000000001,\"msg_data_id\":2247483659} ";
System.out.println(MapUtils.getString(new Gson().fromJson(strJson, Map.class), "msg_id"));

输出结果为

1.000000001E9

可行的办法

System.out.println(MapUtils.getString(new Gson().fromJson(strJson, new TypeToken<Map<String,String>>(){}.getType()), "msg_id"));

输出结果为

1000000001

不可行的办法

GsonBuilder gb = new GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING);
System.out.println(MapUtils.getString(gb.create().fromJson(strJson, Map.class), "msg_id"));

参考

https://blog.csdn.net/sunrainamazing/article/details/81170277

posted @ 2024-06-27 10:19  CharyGao  阅读(14)  评论(0)    收藏  举报