Gson解析json时遇到的问题

在使用Gson进行解析时,如果json中有整数,如下图:
{
"virtualCardNum":"2130118030000001015",
"Brdh":"17611453523",
"Xb":null,
"pin":1,
"addr":"beijing"

}
java代码:
public String editUser(String paramsJson) {
		wsLog.info("进入修改用户接口信息\n" + paramsJson);
		Map<String, Object> resultMap = null;
		Map<String, Object> params = null;
		try {
			//①通过jackson解析
			ObjectMapper mapper = new ObjectMapper();
			params=mapper.readValue(paramsJson, Map.class);
			//②通过gson进行解析
			JSONObject json = JSONObject.fromObject(paramsJson);
			params = new Gson().fromJson(paramsJson, new TypeToken<HashMap<String, Object>>() {
			}.getType());
		} catch (Exception e) {

通过gson方式解析得到的params为:

{virtualCardNum=2130118030000001015, pin=1.0, addr=beijing, Xb=null, Brdh=17611453523}

注意到,解析出来的pin直接变成了double类型 ,因为在后面需要进行匹配,所以一直匹配不上。解决不了,所以引用了几个jackson的包直接用方式①进行解析。

通过方式①解析出来的数据为:

{virtualCardNum=2130118030000001015, Brdh=17611453523, Xb=null, pin=1, addr=beijing}
没有出现类型转换的问题。

猜你喜欢

转载自blog.csdn.net/wnsshssm/article/details/79487396