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
摘抄自网络,便于检索查找。

浙公网安备 33010602011771号