博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSONObject转换JSON之将Date转换为指定格式(转)
阅读量:6809 次
发布时间:2019-06-26

本文共 1685 字,大约阅读时间需要 5 分钟。

项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的时间对象,这时JSONObject默认会将Date属性转换成这样的格式:

Html代码  
 
{"nanos":0,"time":-27076233600000,"minutes":0,"seconds":0,"hours":0,"month":11,"timezoneOffset":-480,"year":-789,"day":5,"date":22}

 而这种格式肯定是非常难以理解的,为了将Date转换为我们认识的“yyyy-MM-dd”格式,需要做以下操作。

 首先创建一个时间转换器

public class JsonDateValueProcessor implements JsonValueProcessor {    private String format ="yyyy-MM-dd";        public JsonDateValueProcessor() {        super();    }        public JsonDateValueProcessor(String format) {        super();        this.format = format;    }    @Override    public Object processArrayValue(Object paramObject,            JsonConfig paramJsonConfig) {        return process(paramObject);    }    @Override    public Object processObjectValue(String paramString, Object paramObject,            JsonConfig paramJsonConfig) {        return process(paramObject);    }            private Object process(Object value){        if(value instanceof Date){              SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.CHINA);              return sdf.format(value);        }          return value == null ? "" : value.toString();      }}

然后在调用JSONObject之前创建一个JsonConfig,并且将上一步定义的date转换器注册进去:

Java代码  
JsonConfig jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());

最后将JsonConfig放入JSONObject对象中,这里针对不同的数据类型有多种方式放入JsonConfig:

Java代码  
JSONObject json = new JSONObject();//Map转JSONjson.putAll(Map, jsonConfig);

 或者

Java代码  
JSONObject json = new JSONObject();//JavaBean转JSONjson.fromObject(object, jsonConfig)

最后我们看到的结果就是只要JavaBean中有Date对象,转换成JSON字符串时就会变成“yyyy-MM-dd”格式。

转载地址:http://kptwl.baihongyu.com/

你可能感兴趣的文章
MySQL中的LIMIT 关键字
查看>>
Apache日志整合脚本
查看>>
Undefined index: submit in的错误处理
查看>>
sed,awk,grep教程
查看>>
VMWaer克隆centos后网络的问题解决
查看>>
JBOSS7 学习 <一> 只能127.0.0.1 访问控制台
查看>>
07-12-Exchange Server 2019-安装-CU1
查看>>
memcache集群服务:memagent配置使用
查看>>
备课好帮手,免费分享 下载
查看>>
mysql批量插入数据脚本
查看>>
MySQL索引类型总结和使用技巧以及注意事项(转)
查看>>
怎么把文件传到虚拟机里
查看>>
Java简单的下载程序
查看>>
外卖排序系统特征生产框架
查看>>
PowerShell提示输入命令不是有效命令
查看>>
写个APP
查看>>
一个不简洁的约瑟夫环解法
查看>>
Android文件的保存(本地和SD卡)与读取
查看>>
win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
查看>>
Linux_防火墙入门01:以太网的诞生与演变历程
查看>>