JsonObject处理时间转换问题
正常传时间的时候使用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);
JsonObject处理时间转换问题的更多相关文章
- JsonObject常用转换
我们在平时的开发中,com.alibaba.fastjson.JSONObject是经常会用到的JSON工具包,同样它的转换方法也会经常被我们使用,包括对象转成JSON串,JSON串转成java对象等 ...
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
转:关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题. 关于JSONObje ...
- 使用json-lib进行Java和JSON之间的转换 [转]
[转] http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html 1. json-lib是一个java类库,提供将Java对 ...
- JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- 【转】使用json-lib进行Java和JSON之间的转换
原文链接:http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html 1. json-lib是一个java类库,提供将Java ...
- 使用json-lib进行Java和JSON之间的转换
1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. 2. ...
- 使用json-lib进行Java和JSON之间的转换【转载】
1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能. 2. ...
- atitit.XML类库选型及object 对象bean 跟json转换方案
atitit.XML类库选型及object 对象bean 跟json转换方案 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的 1 2. 常见的xml方面的方法 2 2.1. ...
- JsonNode、JsonObject常用方法
最近项目中要用json,闲暇时间,对json进行下总结. 1.JsonNode 项目中用到的jar包 import com.fasterxml.jackson.core.JsonParseExce ...
随机推荐
- BMP RGB888转RGB565 +上下翻转+缩放
典型的BMP图像文件由四部分组成: (1) 位图头文件数据结构,它包含BMP图像文件的类型.文件大小和位图起始位置等信息: typedef struct tagBITMAPFILEHEADER { ...
- Innosetup设置控制面版中的名称显示和图标
//设置控制面板中程序图标UninstallDisplayIcon={app}\logo.ico //设置控制面板中程序的名称Uninstallable=yesUninstallDisplayName ...
- nodejs request module里的json参数的一个坑
今天工作的时候遇到一个坑,在客户端用nodejs给服务器发送HTTP请求,服务器老是报错:In the context of Data Services an unknown internal ser ...
- 9.Spring整合Hibernate_2_声明式的事务管理(Xml的方式)
使用xml的方式进行声明式的事务管理 推荐使用xml的方式,因为可以同时为多个方法进行声明 <!-- 开启Spring中的事务管理(声明式的事务管理) xml--> <!-- 不管是 ...
- jqGrid TreeGrid 加载数据 排序 扩展
发现 jqGrid TreeGrid 加载的数据必须要排序 给了两种平滑数据模式尽然不内部递归 所以改了下源码加了个数据二次过滤器扩展 数据本该是这样的 结果没排序成这样了 (而且还得是从根节点到子节 ...
- mORMot学习笔记3 数据集转Json
usesSynCommons, SynDB, SynOleDB; procedure TForm1.DataToJsonClick(Sender: TObject); var Conn: TOleDB ...
- vim学习(一)
vim是linux和mac中常用到的编辑器. 其分为4种模式: normal模式:普通模式,浏览作用 insert模式: i(insert) 在当前光标处进行插入 a(append) 在当前光 ...
- python 只导出项目依赖包
平时导出依赖一般都是 pip freeze > requirements.txt 这种方式导出的是当前python环境中所有的包,只会多不会少,有些库不是必需的也跟着导出来,冗余过重. 这 ...
- Navicat连接腾讯云实例MySQL
Navicat连接腾讯云实例MySQL 授权所有的用户通过root账户 root密码登陆远程数据库 连接腾讯云实例上的MySQL数据库 这里的密码填入数据库的密码 这里的密码填入登陆云实例的密码也就是 ...
- TensorFlow指定GPU/CPU进行训练和输出devices信息
TensorFlow指定GPU/CPU进行训练和输出devices信息 1.在tensorflow代码中指定GPU/CPU进行训练 with tf.device('/gpu:0'): .... wit ...