JSONObject转换JSON--将Date转换为指定格式
2017-01-06 15:06
369 查看
项目中,经常会用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”格式,需要做以下操作。
首先创建一个时间转换器
Java代码
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 paramStr
be30
ing, 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转JSON
json.putAll(Map, jsonConfig);
或者
Java代码
JSONObject json = new JSONObject();
//JavaBean转JSON
json.fromObject(object, jsonConfig)
最后我们看到的结果就是只要JavaBean中有Date对象,转换成JSON字符串时就会变成“yyyy-MM-dd”格式。
转载:http://blessht.iteye.com/blog/2018901
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”格式,需要做以下操作。
首先创建一个时间转换器
Java代码
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 paramStr
be30
ing, 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转JSON
json.putAll(Map, jsonConfig);
或者
Java代码
JSONObject json = new JSONObject();
//JavaBean转JSON
json.fromObject(object, jsonConfig)
最后我们看到的结果就是只要JavaBean中有Date对象,转换成JSON字符串时就会变成“yyyy-MM-dd”格式。
转载:http://blessht.iteye.com/blog/2018901
相关文章推荐
- JSONObject转换JSON--将Date转换为指定格式
- JSONObject转换JSON--将Date转换为指定格式
- JSONObject转换JSON--将Date转换为指定格式
- JSONObject转换JSON--将Date转换为指定格式
- JSONObject转换JSON--将Date转换为指定格式
- JSONObject转换JSON之将Date转换为指定格式(转)
- JSONObject转换JSON--将Date转换为指定格式
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
- ConvertJSONDateToJSDateObject 方法实现json格式时间串转换为 对应的时间格式串
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
- json数据的时间格式转换如:/Date(2342561534)/
- 关于json转换格式出现\/Date(618854400000+0800)\/的问题
- json返回数据库的时间格式为/Date(1332919782070)/,在前台用js怎么转换
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- json数据格式和object对象之间相互转换
- String转换成json格式(一):net.sf.json.JSONObject
- json格式正确却无法转换成 JSONObject
- Java DATE类型日期转换为指定格式――取出时间与系统时间差8小时
- C# JsonObject Json格式与Json对象相互转换