解决Gson将JSON字符串转为Map 数字类型发生变化的问题
有时候我们需要把一些信息存进数据库中的一个字段,我们可以将这些信息装进Map转为json字符串的形式,如下图所示
Map<String, Object> cc = new HashMap<>();
//将你的信息存入Map中,转为json字符串
Gson gson = new Gson();
String scoresmap = gson.toJson(cc);
//
然而我们再次使用Gson工具类进行json字符串转为Map对象时,Map里面的值若是有整形会转为浮点型
如1------1.0
解决方法:
String scoresmap = gson.toJson(cc);
//使用JSON工具类的转换方法即可避免出现这种情况
cc = JSON.parseObject(scoresmap );
另外还介绍一下json转对象集合的方法
//allString里面一定时要包括对象数据,下面是我实体类的数据
"allItems":[
{
"id":397,
"name":"asd",
"parentid":320,
"value":"asd",
"type":2,
"grade":2,
"status":1,
"remark":"asd",
"createBy":367,
"createdt":"Aug 12, 2021 6:40:17 PM",
"answer":"asd",
"nodeId":228,
"children":[
]
},
{
"id":321,
"name":"Linkli",
"parentid":300,
"value":"Linklist底层实现原理是什么",
"type":2,
"grade":1,
"status":1,
"remark":"答对链表即可",
"createBy":1,
"createdt":"Mar 22, 2021 2:03:00 PM",
"answer":"链表",
"nodeId":228,
"children":[
]
}
]
List<T> ss1=JSON.parseArray(JSON.parseObject(scoresmap).getString("allItems"),T.class);