问题1:
日期类型格式化问题
只需要.setDateFormat("yyyy-MM-dd HH:mm:ss")即可
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
问题2:
String json="{\"code\":2,\"sds\":2.1}"; Gson gson = new GsonBuilder().create();System.out.println(gson.fromJson(json, Map.class));
打印{code=2.0, sds=2.1}
原因
当json字符串转为Map这种不确定的对象时,gson会默认数字类型转为浮点型
解决方法
方法1
自己创建对应类型的对象,并在创建属性时就觉得了对应字段的类型
方法2
使用2.8.9版本的gson
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.9</version></dependency>
String json="{\"code\":2,\"sds\":2.1}";Gson gson = new GsonBuilder().setObjectToNumberStrategy(ToNumberPolicy.LONG_OR_DOUBLE).setDateFormat("yyyy-MM-dd HH:mm:ss").create();System.out.println(gson.fromJson(json, Map.class));
打印{code=2, sds=2.1}