后端将java对象传递给前端的时候json自定义格式
2018-01-30 21:00
751 查看
与前端交互的时候,所有时间的字段,直接传递了时间戳,刚开始前端希望我改好格式给她.因为忙,我以时间戳比较准确,比较通用,你需要什么格式的日期类型,你可以自己转成对应的格式,
前端不负所望把我给她的时间戳改成了她想要的数据,但是人家要固定格式的日期类型不过分,我为什么就不能给他了,需求明明很简单的,
在任务不忙的时候,我把这个问题处理了一下:
描述:
对象中的日期类型在传递给前端的时候自定义格式(捎带了一个问题,就是比如数据库中存有些数据是Integer类型,对应了一些含义,一并处理)
查询出来的对象: page(一个对象数组)失败的方法:com.alibaba.fastjson.JSONObject .toJSONStringWithDateFormat(page,format);
使用阿里的fastjson包的toJSONStringWithDateFormat方法,自定义格式,format就是对应的格式,如:yyyy-MM-dd失败原因:前端要的是对象,.虽然日期转成是成功的,但是把page再次放到json中,该page成了一个字符串,前端需要把合格字符串转成对象才可以用失败!成功的方法;我觉得肯定有比较优雅的方法,但是我下午并没有找到,就把这个比较累赘的方式简单描述一下:自己一边脑补,一边百度,思路就是对象可以转map吗.转的时候处理一下数据,反正map和对象传值效果是一样的使用
com.fasterxml.jackson.databind.ObjectMapper类
该类如果在spingmvc中应该可以直接注入,我在service层使用.只能new一个了,
List list = new ArrayList<>();
for (DeliveryOperateEntity deliveryOperateEntity : page) {
objectMapper.setDateFormat(CommonDateUtil.SDF_1);
Map map = objectMapper.convertValue(deliveryOperateEntity, Map.class);
map.put("pcyes", deliveryOperateEntity.getPcyes() == 1 ?"已派车":"未派车");
map.put("pszhsh", deliveryOperateEntity.getPszhsh() == 1 ?"假日运达(1)":"平日运达(0)");
list.add(map);
}因为是一个集合.我遍历的时候,一并将页面显示与数据库不对应的另两个字段给改了
感觉明显可以更优雅,但是水平有限,先这样处理,以后有更好的方式了再改正.
结论:能解决问题的就是好的,处理后给前端,什么都不用处理,直接渲染数据就好了
前端不负所望把我给她的时间戳改成了她想要的数据,但是人家要固定格式的日期类型不过分,我为什么就不能给他了,需求明明很简单的,
在任务不忙的时候,我把这个问题处理了一下:
描述:
对象中的日期类型在传递给前端的时候自定义格式(捎带了一个问题,就是比如数据库中存有些数据是Integer类型,对应了一些含义,一并处理)
查询出来的对象: page(一个对象数组)失败的方法:com.alibaba.fastjson.JSONObject .toJSONStringWithDateFormat(page,format);
使用阿里的fastjson包的toJSONStringWithDateFormat方法,自定义格式,format就是对应的格式,如:yyyy-MM-dd失败原因:前端要的是对象,.虽然日期转成是成功的,但是把page再次放到json中,该page成了一个字符串,前端需要把合格字符串转成对象才可以用失败!成功的方法;我觉得肯定有比较优雅的方法,但是我下午并没有找到,就把这个比较累赘的方式简单描述一下:自己一边脑补,一边百度,思路就是对象可以转map吗.转的时候处理一下数据,反正map和对象传值效果是一样的使用
com.fasterxml.jackson.databind.ObjectMapper类
该类如果在spingmvc中应该可以直接注入,我在service层使用.只能new一个了,
List list = new ArrayList<>();
for (DeliveryOperateEntity deliveryOperateEntity : page) {
objectMapper.setDateFormat(CommonDateUtil.SDF_1);
Map map = objectMapper.convertValue(deliveryOperateEntity, Map.class);
map.put("pcyes", deliveryOperateEntity.getPcyes() == 1 ?"已派车":"未派车");
map.put("pszhsh", deliveryOperateEntity.getPszhsh() == 1 ?"假日运达(1)":"平日运达(0)");
list.add(map);
}因为是一个集合.我遍历的时候,一并将页面显示与数据库不对应的另两个字段给改了
感觉明显可以更优雅,但是水平有限,先这样处理,以后有更好的方式了再改正.
结论:能解决问题的就是好的,处理后给前端,什么都不用处理,直接渲染数据就好了
相关文章推荐
- JSON对象反序列化为Java对象的时候自定义Date类型的字符串格式
- JAVA实现JSON后端向前端传递数据
- flask前端与后端之间传递的两种数据格式:json与FormData
- MVC 中前端传递Json数据,后端以对象形式接受参数的处理方法
- java对象转换为json格式并传送数据到前端
- Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象
- JSON后端向前端传递数据 JAVA
- 用json格式返回自定义对象。(jQuery asp.net)
- json数组作为参数传递给java时候object问题
- java对象转成json格式需要的jar包
- 使用jacksonjava对象转换成标准的json格式,便于与easyui...
- java对象、List转为json格式的数据
- json-lib date对象转json ,加入自定义日期格式处理
- android/java中把对象、对象bean、Collection以及字符串转换成Json格式数据
- Java 将对象解析成JSON格式 无插件形式
- java--格式化json日期格式对象 相关实例代码
- java对象转json格式
- Json-lib, 实现Java对象与JSON数据格式的互转
- 使用JSON传递接收集合,对象map for json,json for java
- 工作笔记:ajax json 同一jsp页面中,把java变量赋给js变量,如果java变量字符串符合json格式,则赋给js变量时,js变量会自动的变为json对象