为什么Map中Date类型数据接收时变为Long类型数据

在接口调试中发现,当使用Map作为参数时,Date类型数据被转换为Long。问题源于HTTP请求中JSON转换过程,JSON将Date自动转化为Long。解决方案包括在接收时将Long转回Date,或参考相关博客文章进行处理。同样,AJAX提交数据时也会遇到类似问题。
摘要由CSDN通过智能技术生成
[color=black][align=left][size=small]问题描述[/size][/align][/color]
接口调试过程中,发现调用同一个SQL的两个不同的Service返回值不一致

[color=black][align=left][size=small]问题分析[/size][/align][/color]
代码跟踪,对比两处调用的位置:
1.以map作为参数
2.以po类作为参数,再将po中属性取出放入map
后者正确而前者错误

[color=black][align=left][size=small]问题解决[/size][/align][/color]
与项目的结构有关,从上层逐步跟踪分析,结论如下:
1.web project 与 core(核心server 以及 dao 操作) project
2.调用时通过 HTTP请求的 core 部署的服务器地址,通过URI的映射,请求指定的接口,将参数传递过去,application / json 参数有一个json 的转换过程
3.问题定位到JSON 中的值得转化

[color=black][align=left][size=small]问题模拟[/size][/align][/color]
通过JSON格式化Map进行输出

Map<String,Object> map = new HashMap<String,Object>(2);
map.put("date", new Date());
// import com.alibaba.fastjson.J
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值