概述
Gson在转换时会将原有Integer类型转换成Double类型的现象
调用:
Gson gson = GsonUtil.gsonBuilder();
Map<String, Object> parameterMap = gson.fromJson(postData,new TypeToken<TreeMap<String, Object>>(){}.getType());
重写Gson:
public static Gson gsonBuilder() {
Gson gson = new GsonBuilder()
.registerTypeAdapter(
new TypeToken<TreeMap<String, Object>>(){}.getType(),
new JsonDeserializer<TreeMap<String, Object>>() {
@Override
public TreeMap<String, Object> deserialize(
JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
TreeMap<String, Object> treeMap = new TreeMap<>();
JsonObject jsonObject = json.getAsJsonObject();
Set<Map.Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
for (Map.Entry<String, JsonElement> entry : entrySet) {
Object ot = entry.getValue();
if(ot instanceof JsonPrimitive){
treeMap.put(entry.getKey(), ((JsonPrimitive) ot).getAsString());
}else{
treeMap.put(entry.getKey(), ot);
}
}
return treeMap;
}
}).create();
return gson;
}
最后
以上就是飞快帽子为你收集整理的Gson转换int遍double的全部内容,希望文章能够帮你解决Gson转换int遍double所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复