900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java对象转换为JSON日期格式转换处理

java对象转换为JSON日期格式转换处理

时间:2022-01-26 12:51:16

相关推荐

java对象转换为JSON日期格式转换处理

JSON日期格式转换的时候,默认情况下JSON对date类型会转换成一个多属性对象,如:

“createTime”:{

“date”:11,

“day”:2,

“hours”:16,

“minutes”:15,

“month”:9,

“seconds”:12,

“time”:1665476112000,

“timezoneOffset”:-480,

“year”:122

}

这种格式我们用起来不是很方便, 可以利用JsonValueProcessor来实现日期的转换。

DateJsonValueProcessor类:

package com.winsun.utils;import java.text.SimpleDateFormat;import java.util.Date;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;/*** JSON日期格式转换**/public class DateJsonValueProcessor implements JsonValueProcessor {private String format = "yyyy-MM-dd HH:mm:ss";@Overridepublic 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;}@Overridepublic Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {if (value instanceof Date) {String str = new SimpleDateFormat(format).format((Date) value);return str;}return value;}}

转换的时候调用:

JsonConfig jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor());//bean:我们要转换的实体类JSONObject jsonObject = JSONObject.fromObject(bean, jsonConfig);System.out.println(jsonObject.toString());

预期结果:

“createTime”:“-10-11 16:15:12”

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。