JSONObject 可以将java对象转换成json格式,用于处理ajax请求或者做app是与前台的交互.

但是Date类型的也会做转换,很多时候我们是不想将日期的年月日分别转换成json的.可以通过配置的方式按自己的设置将日期转换.

废话不多说:

  1. /**
  2. * 把字段中有Date类型的对象放到json时,将date类型按照固定格式转换
  3. */
  4. public static void jsonUtil(JSONObject jo,Object object,String key){
  5.  
  6. JsonConfig jConfig = new JsonConfig();
  7. jConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());
  8. //将查询结转换为json,放到json中
  9. jo.put(key, JSONObject.fromObject(object,jConfig).toString());
  10. }

注册日期格式的类:----仅仅是设置了一下Date转换成string时的fmt

  1. package ec.util;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.Locale;
  6.  
  7. import net.sf.json.JsonConfig;
  8. import net.sf.json.processors.JsonValueProcessor;
  9. /**
  10. * Bean转换为JSON相时将Date转换成String
  11. * @author zlc
  12. * @Date 2016-4-19
  13. *
  14. */
  15. public class JsonDateValueProcessor implements JsonValueProcessor {
  16.  
  17. private String datePattern = "yyyy-MM-dd HH:mm:ss";
  18. public JsonDateValueProcessor() {
  19. super();
  20. }
  21. public JsonDateValueProcessor(String format) {
  22. super();
  23. this.datePattern = format;
  24. }
  25.  
  26. public Object processArrayValue(Object value, JsonConfig jsonConfig) {
  27. return process(value);
  28. }
  29.  
  30. public Object processObjectValue(String key, Object value,
  31. JsonConfig jsonConfig) {
  32. return process(value);
  33. }
  34. private Object process(Object value) {
  35. try {
  36. if (value instanceof Date) {
  37. SimpleDateFormat sdf = new SimpleDateFormat(datePattern,
  38. Locale.UK);
  39. return sdf.format((Date) value);
  40. }
  41. return value == null ? "" : value.toString();
  42. } catch (Exception e) {
  43. return "";
  44. }
  45.  
  46. }
  47.  
  48. public String getDatePattern() {
  49. return datePattern;
  50. }
  51.  
  52. public void setDatePattern(String pDatePattern) {
  53. datePattern = pDatePattern;
  54. }
  55. }

这样吧对象转换成json的时候就不会讲Date类型的对象分别将年月日当做属性来转换了.

另外也可以用<%@page import="net.sf.json.JSONArray"%> JSONArray 来转换:

  1. List<View_oa_notice> oaUserList = (List<View_oa_notice>)request.getAttribute("noticeList");
  2. jConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());
  3. JSONArray j = JSONArray.fromObject(oaUserList,jConfig);
  4. PrintWriter pw = response.getWriter();
  5. pw.write(j.toString());

后台返回JSON关于日期的格式化的更多相关文章

  1. spingmvc 返回json数据日期格式化方法

    第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxm ...

  2. [转]SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意

    一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...

  3. SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意

    一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...

  4. spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type

    问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json ...

  5. springmvc 1.接受日期类型的参数 2.后台返回json串的格式处理(返回json串null值处理为"")

    springmvc中的配置: <bean id="dateConvert" class="com.iomp.util.DateConvert"/> ...

  6. spring Mvc json返回json的日期格式问题

    (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加ja ...

  7. node模拟后台返回json书写格式报错--Unexpected token ' in JSON at position 1

    最近在学习Node的知识,就尝试写了一个注册登陆的简单功能,但是自己在模拟后台返回值的时候,总是报错Unexpected token ' in JSON at position 1,查找原因之后,是因 ...

  8. iOS 后台返回json解析出现的null的解决办法

    在后台返回值为Null为空时,我们代码没有判断时,程序就会崩溃.当时一直很疑惑是为啥,后来发现是数据问题,由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据.当我们通 ...

  9. 后台返回json数据,前台显示代码

    List list = "从DAL获取的数据集合" //取出分页标签html int pageIndex = context.Request["pageIndex&quo ...

随机推荐

  1. size_t总结

    1.sizeof返回的必定是无符号整形,在标准c中通过 typedef 将返回值类型定义为size_t. 若用printf输出size_t类型时,C99中定义格式符%zd;若编译器不支持可以尝试%u或 ...

  2. [问题2014A01] 复旦高等代数 I(14级)每周一题(第三教学周)

    [问题2014A01]  试求下列 \(n\) 阶行列式的值: \[ |A|=\begin{vmatrix} 1 & x_1(x_1-a) & x_1^2(x_1-a) & \ ...

  3. [问题2014S05] 解答

    [问题2014S05] 解答  (本解答由谷嵘同学提供) 首先, 由 \(\mathrm{tr}(AB)=\mathrm{tr}(BA)\) 可得 \(a=0\), 或者由 Cauchy-Binet ...

  4. 8 个必备的PHP功能开发

    做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握.    ...

  5. CSS3之尖角标签

    如图所示,Tag标签的制作通常使用背景图片,现在用CSS3代码就能实现尖角效果(需浏览器支持CSS3属性). 运用CSS3样式实现尖角标签,只需要写简单的HTML结构和CSS样式. <p> ...

  6. Java安装与环境配置

    Java安装 第一步 安装jdk-8u111-windows(根据操作系统的位数选择安装32位或64位) 注:路径用英文,不要出现中文和空格等.jdk和jre放在同一个文件夹下,便于管理 本例的路径为 ...

  7. zoj3430Detect the Virus(ac自动机)

    链接 解码之后是跟普通的自动机求解一下的,只不过解码比较恶心,512=>N>=0 ,所以不能用字符串来存,需要转换成整数来做. #include <iostream> #inc ...

  8. 利用反射和ResultSetMetaData实现DBUtils的基本功能

    DBUtils大大简化了JDBC的书写,极大的提高了开发效率,和数据库连接池一起,简化了JDBC开发的流程.简易的自定义数据库连接池可以通过装饰者设计模式和动态代理模式得到很简单的实现,那么DBUti ...

  9. Pycharm使用问题# 程序界面出现方框字符

    Pycharm 程序至今依旧存在国际化问题,有时会出现程序界面有方框的现象,windows和linux好像都会出现,如下图:

  10. AlwaysOn与数据库镜像端点问题

    今天在搭建一个测试环境的时候发现一个问题,我将AlwaysOn环境中某节点上的某个非可用性组里的数据库想实时备份到另外一台服务器上,因此我找了一个没有加域的工作组的服务器,与AlwaysOn主节点去搭 ...