JsonObject处理时间转换问题
2024-09-03 20:55:16
正常传时间的时候使用JsonObject转换的时候会把整个日期都转换成一个新的对象,而如何转换成传统的yyyy-MM-dd HH:mm:ss类型呢
常用的时间格式
private String format = "yyyy-MM-dd HH:mm:ss";
// private String format = "yyyy-MM-dd'T'HH:mm:ss.SSS";
// String formatIn = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ";
// String formatOut = "yyyy-MM-dd HH:mm:ss";
// String formatOut2 = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ";
项目中存放一个下面的工具类
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* JSON日期格式转换
*/
public class DateJsonValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd HH:mm:ss";
// private String format = "yyyy-MM-dd'T'HH:mm:ss.SSS";
// String formatIn = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ";
// String formatOut = "yyyy-MM-dd HH:mm:ss";
// String formatOut2 = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ";
public DateJsonValueProcessor() {
}
public DateJsonValueProcessor(String format) {
this.format = format;
}
@Override
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;
}
@Override
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;
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
转为JSON,Object或者JSONArray的时候像下面一样引用
DateJsonValueProcessor是可以使用一个时间格式当Value的,如果不满足的话可以使用新的格式来传递
JsonConfig cfg = new JsonConfig();
cfg.setExcludes(new String[]{"handler", "hibernateLazyInitializer"});
cfg.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor());
JSONArray updateJson = JSONArray.fromObject(objectList, cfg);
最新文章
- 【每日一linux命令3】参数(或称选项)顺序
- 拓扑排序(topsort)
- hud2544dijkstra+堆优化
- jquery iframe高度自适应
- 清空easyui datagrid
- 《Python 学习手册4th》 第十五章 文档
- HttpClient 设置代理方式
- myEclipse异常解决:Errors occurred during the build. Errors running builder Mule 3 hot deployment
- 【翻译】在Ext JS 5种使用ViewControllers
- 2014 Multi-University Training Contest 1 - J Rating
- SSMS2008插件开发(2)--Microsoft Visual Studio 2008插件开发介绍
- Java设计模式之《享元模式》及应用场景
- 机器学习之类别不平衡问题 (2) —— ROC和PR曲线
- SEH exception with code 0xc0000005 thrown in the test body
- King 差分约束 判负环
- 基于STM32L4的开源NBIOT开发资料
- Confluence 6 识别系统属性
- Spring的核心之IoC容器创建对象
- 创建 .m2 文件夹
- StanFord ML 笔记 第九部分