问题:
在将java.util.Date 类型字段转为json时,获取时取到的日期为[object object]
,无法进行操作。
举例:
Tariff bean = new Tariff();
bean.setName("Robby");
bean.setAge(1);
bean.setBorn(new Date());
当使用JSONObject jsonObject = JSONObject.fromObject(bean)转换为json时,jsp页面接收到的born日期类型为[object object],无法获取具体日期!
解决方法:添加自定义的日期格式转化类
package com.techson.himsnanhwa.admin.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
private String format ="yyyy-MM-dd";
public Object processArrayValue(Object value, JsonConfig config) {
return process(value);
}
public Object processObjectValue(String key, Object value, JsonConfig config) {
return process(value);
}
private Object process(Object value){
if(value instanceof Date){
SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
}
类名JsonDateValueProcessor自定义,继承的JsonValueProcessor是固定写法。
调用:
Tariff bean = new Tariff();
bean.setName("Robby");
bean.setAge(1);
bean.setBorn(new Date());
JsonConfig jsonConfig = new JsonConfig(); //JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
JSONObject jo = JSONObject.fromObject(bean, jsonConfig);
System.out.println("json:" + jo.toString());
结果:json:{"age":1,"born":"2011-05-31","name":"Robby"}
也可以通过为日期转换类加上构造函数,使用
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
这种方式获取。
参考:http://blog.sina.com.cn/s/blog_5f1fe33f0100jibg.html
分享到:
相关推荐
Springboot DTO字符字段与日期字段的转换问题 不会自动转换string与date 主要是这个意思,前端提交的JSON里,日期是一个字符串,而对应后端的实体里,它是一个Date的日期,这两个在默认情况下是不能自动转换的,...
4. 支持基本数据类型及其封装类型,Collection类型,Date类型及自定义类型。 5. 支持将JSON数组转换为Java数组或List,支持泛型。 6. 支持将Java的Map转换为JSONObject以及相反的转换。 7. 支持将null值和空值转换为...
目录DateTime类型数据格式问题C#对象属性名称转换成JSON自动转成“驼峰命名法”解决办法创建新的 JsonResult 对象使用新的 JsonResult 对象 方法一创建一个BaseController 来重写他的Json()方法使用新的 JsonResult ...
强迫 一个小型库,可自动将JSON字段转换为数字或日期入门var autocoerce = require('autocoerce');var myObj = {someText: "Hello",someNumber: "42",someDate: "2014-12-31T23:00:00.000Z"}var newObj = autocoerce...
在做项目中,将实体转化为JSON后,结果后台返回json时间格式为/Date(1306418993027)/,在前台JS里显示的并不是真正的日期,而且我们不能把所有日期字段都变成string吧,因此写了Javascript的扩展方法,来实现这个...
症状:后台返回给页面的数据是Json格式的,其中的日期字段,在后台是“2012-11-10 12:18:00”这样的格式,json序列化后返回到前台页面就被转换成一个像 /Date(1419264000000)/ 的格式,导致easyUI无法解析这个字段。
将模型转换为json 称之为 序列化 将json转换为模型 称之为 反序列化 1.序列化器的字段 Serializer 序列化器 为了得到模型里的字段,序列化器中的字段应与模型类中的字段名一致 ''' serializers.py ''' class ...
采访-传播者 为 Hack 保加利亚的课程进行面试的一套规则和... 确保您在电子邮件模板中使用的字段(如{Date} )存在于 JSON 文件中。 你需要 Python v. > 3 执行python send_emails.py <name_of_template_located_i
3. 支持MySQL8+ 4. 修改PHPCMS目录为CMS 5. 验证码修改 6. 支持H5上传,移除Flash上传 7. 修改后台缩略图裁切图片,移除Flash裁切改为H5裁切 8. 后台附件上传修改为H5上传,会员...88. 增加内容编辑时的更新时间字段