JSON转换为JAVA对象及日期格式转换处理
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
1.JSON日期格式转换
默认JSON对DATE类型会转换成一个多属性对象, 而不是单独的一个字符串, 在某些应用处理上不是很方便, 可以利用JsonValueProcessor来实现日期的转换.
默认格式:
"lastUpdate": {
"date": 29,
"day": 3,
"hours": 14,
"minutes": 46,
"month": 1,
"seconds": 41,
"time": 1330498001000,
"timezoneOffset": -480,
"year": 112
},
转换后格式:
"lastUpdate": "2012-02-29 14:46:41"
自定义一个日期处理器:
DateJsonValueProcessor是实现了一个JsonValueProcessor接口(两种方式)
- 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";
- 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;
- }
- public String getFormat()
- {
- return format;
- }
- public void setFormat(String format)
- {
- this.format = format;
- }
- }
或:
- package org.ymm.util;
- import java.text.SimpleDateFormat;
- import net.sf.json.JsonConfig;
- import net.sf.json.processors.JsonValueProcessor;
- public class DateJsonValueProcessor implements JsonValueProcessor
- {
- private String format;
- public DateJsonValueProcessor(String format){
- this.format = format;
- }
- public Object processArrayValue(Object value, JsonConfig jsonConfig)
- {
- return null;
- }
- public Object processObjectValue(String key, Object value, JsonConfig jsonConfig)
- {
- if(value == null)
- {
- return "";
- }
- if(value instanceof java.sql.Timestamp)
- {
- String str = new SimpleDateFormat(format).format((java.sql.Timestamp)value);
- return str;
- }
- if (value instanceof java.util.Date)
- {
- String str = new SimpleDateFormat(format).format((java.util.Date) value);
- return str;
- }
- return value.toString();
- }
- }
转换调用代码:
public String queryEmpAll() throws IOException{
System.out.println("queryEmpAll!!!!!!!!!!!!!!!!!!!!!!!");
// PrintWriter out=ServletActionContext.getResponse().getWriter();
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor());
jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class, new JsonDateValueProcessor());
Map map=new HashMap();
map.put("total", 3);
map.put("data", ies.getAll());
JSONObject jn=JSONObject.fromObject(map,jsonConfig);
System.out.println(jn.toString());
// out.print(jn.toString());
return null;
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
7 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)