net.sf.json日期类型格式化输出
net.sf.json 日期类型格式化输出
Date, Timestamp ;
编写工具类
package cn.jorcen.commons.util; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor; public class DateJsonValueProcessor implements JsonValueProcessor {
/**
* 字母 日期或时间元素 表示 示例 <br>
* G Era 标志符 Text AD <br>
* y 年 Year 1996; 96 <br>
* M 年中的月份 Month July; Jul; 07 <br>
* w 年中的周数 Number 27 <br>
* W 月份中的周数 Number 2 <br>
* D 年中的天数 Number 189 <br>
* d 月份中的天数 Number 10 <br>
* F 月份中的星期 Number 2 <br>
* E 星期中的天数 Text Tuesday; Tue<br>
* a Am/pm 标记 Text PM <br>
* H 一天中的小时数(0-23) Number 0 <br>
* k 一天中的小时数(1-24) Number 24<br>
* K am/pm 中的小时数(0-11) Number 0 <br>
* h am/pm 中的小时数(1-12) Number 12 <br>
* m 小时中的分钟数 Number 30 <br>
* s 分钟中的秒数 Number 55 <br>
* S 毫秒数 Number 978 <br>
* z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 <br>
* Z 时区 RFC 822 time zone -0800 <br>
*/
public static final String Default_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
private DateFormat dateFormat; public DateJsonValueProcessor(String datePattern) {
try {
dateFormat = new SimpleDateFormat(datePattern);
} catch (Exception e) {
dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);
}
} public Object processArrayValue(Object value, JsonConfig jsonConfig) {
return process(value);
} public Object processObjectValue(String key, Object value,
JsonConfig jsonConfig) {
return process(value);
} private Object process(Object value) {
return dateFormat.format((Date) value); }
}
测试类:
/**
*
*/
package cn.jorcen.commons.util; import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.Map; import net.sf.json.JsonConfig; import com.alibaba.fastjson.serializer.SerializerFeature; /**
*
* 统一Json出口
*
* @author mjorcen
* @email mjorcen@gmail.com
* @dateTime Jun 4, 2014 4:11:20 PM
* @version 1
*/
public class FastJosnUtil {
public static final String toJson(Object obj) {
return toNetSFJson(obj);
} private static String toNetSFJson(Object obj) {
JsonConfig config = new JsonConfig();
config.registerJsonValueProcessor(Date.class,
new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
config.registerJsonValueProcessor(Timestamp.class,
new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
String objStr = net.sf.json.JSONObject.fromObject(obj, config)
.toString();
return objStr;
} public static final String toFastJson(Object obj) {
String objStr = com.alibaba.fastjson.JSONObject.toJSONString(obj,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteMapNullValue);
return objStr;
} public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("time", new Date());
map.put("name", "yy");
map.put("age", 20);
map.put("timestamp", new Timestamp(System.currentTimeMillis()));
System.out.println(toJson(map));
}
}
结果:
{"timestamp":"2014-06-10 05:54:11","time":"2014-06-10 05:54:11","age":20,"name":"yy"}
net.sf.json日期类型格式化输出的更多相关文章
- SpringMVC在使用Jackson2时关于日期类型格式化的问题
SpringMVC在使用Jackson2时关于日期类型格式化的问题 如果无效,那么使用 @DateTimeFormat(pattern = "yyyy-MM-dd")
- 模拟实现JSON.stringiry 的格式化输出
前言 这是一道笔试题,要求模拟实现JSON.stringiry 的格式化输出,按照层级缩进,输出易读格式,即完成以下方法 JSON.stringify(jsObj, null, 4); // 缩进4个 ...
- JSON字符串控制台格式化输出 java
1.正常情况下返回的json数据格式如下: {"header":{"transSn":"e33128bb7622462ebfb2cbfcc46baa1 ...
- 编写Java程序,使用日期处理类实现日期的格式化输出
返回本章节 返回作业目录 需求说明: 按"yyyy-MM-dd"格式输入一个字符串型日期,然后输出这个日期为本年中的第几周. 实现思路: 使用SimpleDateFormat格式化 ...
- 1、Python 日期时间格式化输出
今天帮朋友写自动化脚本,又需要用格式化日期,又忘记怎么写了,还是写到自己博客里面,方便日后需要的时候看一眼吧.So,临时加一篇 Python 的文章. 1.Python的time模块 import t ...
- nodejs写入json文件,格式化输出json的方法
假如我需要把data序列化成json字符串,然后写入data.json文件中,代码如下: let str = JSON.stringify(data) fs.writeFile('data.json' ...
- 008、MySQL日期时间格式化输出
#日期格式化 SELECT date_format( '2008/08/08 22:23:01', '%Y-%m-%d-%H--%i--%s' ); 不忘初心,如果您认为这篇文章有价值,认同作者的付出 ...
- Asp MVC 中处理JSON 日期类型
注:时间有点忙,直接copy 过来的,要查看原址: http://www.developer.com/net/dealing-with-json-dates-in-asp.net-mvc.html I ...
- json日期字符串格式化时间
var str = '/Date(1333245600000+0800)/'; function data_string(str) { var d = eval('new ' + str. ...
随机推荐
- 网站压力测试工具webbench 安装与使用
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 主要是 -t 参数用着比较爽,下面参考了张宴的文章 ...
- spring+ibatis环境搭建
简单的spring+ibatis入门实例:ibatis是一种半自动化的持久层框架,它介于JDBC和hibernate之间,使用比较灵活. 一:目录结构 二:需要导入的jar包: 所有的第三方jar包都 ...
- java基础学习总结六(对象与类、类的属性与方法)
一:面向过程与面向对象的区别 举例:一个人开门的动作,可以分解为开门,人进去,关门. 面向过程:人作为执行者,1:开门 2:进入 3:关门 面向对象:人作为指挥者,将开门,关门的动作都封装到门上 ...
- Java内存溢出示例
按照java内存的结构,发生内存溢出的地方常在于堆.栈.方法区.直接内存. 一.堆溢出 堆溢出原因莫过于对象太多导致,看代码: /** * java 堆溢出 * VM Args:-Xms20m -Xm ...
- winform 上传
public class ImitateSelectFile { public void Select(HtmlElement htmlEle, string fileFullPath) { html ...
- 【linux错误解决】MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题
问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.x ...
- 使用jsonp跨域请求
一.异步对象,不能实现跨域请求 在站点A中访问站点B的数据: 站点A代码: window.onload = function () { document.getElementById("bt ...
- WCF编程系列(五)元数据
WCF编程系列(五)元数据 示例一中我们使用了scvutil命令自动生成了服务的客户端代理类: svcutil http://localhost:8000/?wsdl /o:FirstServic ...
- 第二十七篇、使用MVVM布局页面
思路:架构的设计模式主要有这么两种 >MVC :这种方式用得很多,也很是常见,不在过多的介绍 >MVVM:使用这种 常常需要导入第三方框架,常见的是响应式框架 >主要讲一下ViewM ...
- 牛客网算法题之All-in-All
题目: 有两个字符串s 和t,如果即从s 中删除一些字符,将剩余的字符连接起来,即可获得t.则称t是s 的子序列.请你开发一个程序,判断t是否是s的子序列. 输入描述: 输入包含多组数据,每组数据包含 ...