将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型

将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型

问题描述:

    java里面时间类型转换成json数据就成这样了:
"createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds"
:38,"time":1209539678000,"timezoneOffset":-480,"year":108}
期望的结果:

       将date转化成yyyy-MM-dd形式

解决方案:

注册时间字段处理器,使用jsonconfig即可:
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
JSONObject jsonObj = JSONObject.fromObject(map, jsonConfig);

class DateJsonValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd";

public DateJsonValueProcessor() {
}

public DateJsonValueProcessor(String format) {
this.format = format;
}

public Object processArrayValue(Object value, JsonConfig jsonConfig) {
String[] obj = {};
if (value instanceof Date[]) {
SimpleDateFormat sf = new SimpleDateFormat(format);
Date[] dates = (Date[]) value;
obj = new String[dates.length];
for (int i = 0; i < dates.length; i++) {
obj[i] = sf.format(dates[i]);
}
}
return obj;
}

public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
if (value instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
return value.toString();
}

public String getFormat() {
return format;
}

public void setFormat(String format) {
this.format = format;
}

}

转载于:https://www.cnblogs.com/zhujiabin/p/5142891.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java redis 商品秒杀_使用redis秒杀出现产品超发现象求解?

亲测&#xff0c;用ab 压测并发500 请求4000 无超卖&#xff01;header("content-type:text/html;charsetutf-8");$redis new redis();$result $redis->connect(127.0.0.1, 7379);$redis->watch("mywatchlist");$len $redis->hlen("mywat…

删除日志为0的文件

find . -size 0 -name "*.log" -exec rm {} \; 转载于:https://www.cnblogs.com/getong/p/5143366.html

在java中8421_JAVA常量介绍

常量&#xff1a;在程序执行过程中&#xff0c;其值不发生改变的量&#xff1b;1、分类&#xff1a; 字面值常量和自定义常量&#xff1b;1、字面值常量有以下几种&#xff1a;字符串常量、小数常量、整数常量、字符常量、布尔常量(true、false)、空常量(null);2、整数常量…

自定义tabbar

/** * 注意&#xff1a;* 打开自定义tabbar的背景视图的交互* 选中的tabb视图高度为tabbar背景视图的高度/2-选中视图高度/2* 选中视图加载到tabbar背景视图上* label注意居中&#xff0c;imgView注意选择适应模式&#xff0c;都加载到tabbar背景视图* 设置点击手势的点击事件…

java候选码计算的替换法_候选码求解方法

候选码的求解基本方法集合一、求解候选码基本算法的具体步骤.第1 步,求关系模式R 的最小函数依赖集F第2 步, 按照上面的定义, 分别计算出UL ,UR , UB (UL 表示仅在函数依赖集中各依赖关系式左边出现的属性的集合; UR 表示仅在函数依赖集中各依赖关系式右边出现的属性的集合;另…

java post返回xml数据类型_Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据...

这里面简单介绍下&#xff0c;HttpURLConnection连接服务器&#xff0c;并返回数据客户端代码Java代码&#xff1a;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;public class PostXml {public static void…

Java关键字finally

参考文章&#xff1a;关于Java中finally语句块的深度辨析 仅考虑程序正常执行的情况下&#xff0c;不考虑System.exit(0)等情况。不过关于“finally 语句块一定会执行吗&#xff1f;”这个问题确实会有一定的说法。 1&#xff0c;无控制转移语句&#xff0c;在return之前执行 …

单表置换密码java代码实现_单表替换密码

要求&#xff1a;实现单表替换密码&#xff0c;用键盘接收明文和密钥&#xff0c;屏幕答应替换表和密文&#xff0c;大小写敏感&#xff0c;输入健壮性。实际问题&#xff1a;密钥处理应该是这个程序的重点&#xff0c;加密和解密都没有什么要注意的地方。用key[]数组接收keyte…

hdu-5082

题意非常easy&#xff0c;就是给出父母的名字&#xff0c;然后依据父母的名字来给孩纸取名字&#xff01; 能够将此题简化为&#xff1a; 孩纸的名字父亲的frist name字符串&#xff08;_small_&#xff09;母亲额frist name; 然后将孩纸的名字输出就可以&#xff01;代码例如以…

java面试compareble_Java(面试必备):30 个 Java 集合面试问题和答案

30 个 Java 集合面试问题和答案前言今天博主将为大家分享一下Java(面试必备)&#xff1a;30 个 Java 集合面试问题和答案&#xff0c;不喜勿喷&#xff0c;如有异议欢迎讨论&#xff01;Java集合框架为Java编程语言的基础&#xff0c;也是Java面试中很重要的一个知识点。这里&a…

有关java的名句_关于志气的名言名句(精选50句)

1、路漫漫其修远兮&#xff0c;吾将上下而求索。——屈原《离骚》2、会当凌绝顶&#xff0c;一览众山小。——杜甫《望岳》3、志当存高远。——诸葛亮《诫外生书》4、精诚所加&#xff0c;金石为开。——《后汉书光武十王列传》5、天行健&#xff0c;君子以自强不息。——《周易…

java 折线图 放大 缩小_可拖拉放大缩小HC折线图 | JShare

可拖拉放大缩小HC折线图 | JSharevar chart Highcharts.chart(container, {chart: {zoomType: x},title: {text: Hide overlapping data labels},series: [{data: (function (arr, len) {var i;for (i 0; i < len; i i 1) {arr.push(i);}return arr;}([], 50)),dataLabe…

php二进制加密_怎样给PHP源代码加密?PHP二进制加密与解密的解决办法

分享2种PHP的源码加密方式&#xff0c;此加密方法支持任意PHP版。注意&#xff0c;加密后的PHP代码无需第三方工具解密&#xff0c;像往常一样&#xff0c;直接运行即可。function encode_file_contents($filename) {$typestrtolower(substr(strrchr($filename,.),1));if (php …

Hibernate所用15个jar包

Hbernate3.jar-------------------核心包antlr.jar----------------------------语言转换工具&#xff0c;hibernate用他将hql语句转换为sql语句dom4j.jar--------------------------解析xml文档的工具ehcahe.jar-------------------------缓存工具&#xff0c;如没提供其它缓存…

php中常用的运算符和表达式有哪几种,php 运算符与表达式详细介绍

php 运算符与表达式一、运算符的分类1、按操作数分类1.!true // 一元运算符2.$a$b // 二元运算符3.true ? 1:0 // 三元运算符2、按操功能分类(1)算术运算符1.、-、x、/、%(取余)(2)字符串运算符1.. // 例如&#xff1a;$a abc.efg;(3)赋值运算符1. // 简单赋值2.、-、X、/、…

ogrinfo使用

简介 orginfo是OGR模块中提供的一个重要工具&#xff0c;用于读取地图文件中记录&#xff0c;可以指定筛选条件&#xff08;按字段、sql、矩形范围&#xff09;使用方式 命令行参数 Usage: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where][-spat xmin ymin xma…

php7与apache整合,apache集成php7.3.5的详细步骤

安装 php首先安装 php 的压缩包&#xff0c;目前下载地址解压文件到这个路径下&#xff1a;D:Program Filesphp-7.3.5(自行选择合适的路径).然后将这个路径加入到环境变量 path 中。然后打开 cmd 运行php -version,输出类似如下&#xff0c;说明安装成功。PHP 7.3.5 (cli) (bui…

php正则去除base64,使用PHP preg_match_all的正则表达式base64块

我正在尝试使用php中的正则表达式来匹配base64编码的块。 它以Content-Transfer-Encoding: base64开头&#xff0c;因此我希望可以在此之后匹配内容&#xff0c;但是下面的正则表达式无法正常工作。 请帮助我修复此正则表达式以匹配base64块。 在电子邮件正文中&#xff0c;bas…

真机iOS SDK升级后xcode不能进行真机调试 怎么办

今天升级了一下iPod的SDK到iOS8&#xff0c;xcode仅仅能支持到7.1&#xff0c;真机调试遇到问题&#xff1f;&#xff1f;&#xff1f;以下是解决的方法&#xff01;找到xcode&#xff0c;点击右键。打开显示包内容&#xff0c;按路径Contents/Develpoer/Platforms/iPoneOS.pla…

php 中断输出,PHP捕捉异常中断的方法

前言任何程序员在开发时都可能遇到过一些失误&#xff0c;或其他原因造成错误的发生。当然&#xff0c;用户如果不愿意或不遵循应用程序的约束&#xff0c;也会在使用时引起一些错误发生。本文主要介绍在php中用 register_shutdown_function进行异常处理的方法&#xff0c;有需…