JSONObject的内容为:

{"userId":"A000004FFDCE14","userName":"好好干g","userMp":"1820257596","clientName":"风格","regDate":"2016-07-05 00:00:00","startDate":"2016-07-05 00:00:00","endDate":"2017-09-05 00:00:00","times":15458,"master":"master","yesorno":3}]

List<PreparedInfo> listpre = PreApplyConvertEntity.secectlistinfo();

			Gson gson = new GsonBuilder().registerTypeHierarchyAdapter(Date.class, new DateTypeAdapter())
.setDateFormat("yyyy-MM-dd HH:mm:ss").create(); String json = gson.toJson(listpre);
System.out.println(json); JSONArray ja = JSONArray.fromObject(json);
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
String[] dateFormats = new String[] {"yyyy-MM-dd HH:mm:ss" };
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
PreparedInfo person = (PreparedInfo) JSONObject.toBean(jo, PreparedInfo.class);
System.out.println(person);

 

 DateTypeAdapter类:
public class DateTypeAdapter implements JsonSerializer<Date> ,JsonDeserializer<Date> {
private final SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public Date deserialize(JsonElement json, Type date, JsonDeserializationContext context) throws JsonParseException {
// TODO Auto-generated method stub
if (!(json instanceof JsonPrimitive)) {
throw new JsonParseException("The date should be a string value");
} try {
return dateFormate.parse(json.getAsString()); } catch (ParseException e) {
throw new JsonParseException(e);
} } @Override
public JsonElement serialize(Date src, Type arg1, JsonSerializationContext arg2) {
String dateFormatAsString = dateFormate.format(new Date(src.getTime()));
return new JsonPrimitive(dateFormatAsString); } }
其中 :List<PreparedInfo> listpre = PreApplyConvertEntity.secectlistinfo();

			Gson gson = new GsonBuilder().registerTypeHierarchyAdapter(Date.class, new DateTypeAdapter()).setDateFormat("yyyy-MM-dd HH:mm:ss").create();

			String json = gson.toJson(listpre);
将List集合对象转换成jsonstring 对象!

  

还有:String[] dateFormats = new String[] {"yyyy-MM-dd HH:mm:ss" };
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
PreparedInfo person = (PreparedInfo) JSONObject.toBean(jo, PreparedInfo.class);
解决不要这段代码时转换并不抛出例外,而是在日志中打出以下警告信息: Can't transform property 'birthday' from java.lang.String into java.util.Date. Will register a default Morpher 的解决办法

  

最后 有时我们想将日期保存到数据库时用 java.util.Date 就会出错,一定要用java.sql.Date 这是在使用 JDBC 的情况下,在这种情况下就要将 java.util.Date 转换为 java.sql.Date,下面就是示例代码 java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

JSONObject处理java.util.Date的更多相关文章

  1. 将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型

    问题描述: java里面时间类型转换成json数据就成这样了: "createTime":{"date":30,"day":3," ...

  2. Json-lib - java.util.Date 转换问题

    使用 JSON-lib 将 java.util.Date 对象直接转换成 JSON 字符串时,得到的通常不是想要格式: System.out.println(JSONSerializer.toJSON ...

  3. java.sql.Date to java.util.Date

    发这篇博文的题目可能无法直接表示内容,但是确实是java.sql.Date和java.util.Date. 今天在使用'net.sf.json.JSONObject'封装json数据的时候,碰到很奇怪 ...

  4. java.sql.Date和java.util.Date的不同和相互转换方式

    一:前言 这是我在新的公司写的第一份博客吧,来了又一个星期了吧,但是在来的那几天我真的很迷茫的感觉这里是很不适合我的样子,而且我又是来实习的,我很不愿意啊,自己做的又是java web,最原始的ser ...

  5. java.sql.Date赋值给了java.util.Date.转化成JSONArray时出错net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

    net.sf.json.JSONException: java.lang.reflect.InvocationTargetExceptionat net.sf.json.JSONObject.defa ...

  6. java基础--java.util.Date类型小结

    首先先来了解一下Date数据类型: . Date类型通常要和另一个 java.text.SimpleDateFormat类联合使用. 把long-->Date: public Date(long ...

  7. 前台传参数时间类型不匹配:type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'

    springMVC action接收参数: org.springframework.validation.BindException: org.springframework.validation.B ...

  8. java.util.Date与java.sql.Date

    我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...

  9. Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found

    今天在完成项目的时候遇到了下面的异常信息: 04-Aug-2014 15:49:27.894 SEVERE [http-apr-8080-exec-5] org.apache.catalina.cor ...

随机推荐

  1. 开源 免费 java CMS - FreeCMS1.4-功能说明-站点管理

    下载地址:http://code.google.com/p/freecms/ 站点管理 FreeCMS支持网站群模式,并支持无限树级管理. 1.  添加一级站点 从左侧管理菜单点击站点管理进入. 提示 ...

  2. 史上最“脑残”的“抢火车票”程序(node.js版)

    [背景] 快过年了,我妈一个电话打过来叫我给他买火车票,我到12306一查,硬座和硬卧基本没有了,高铁又太贵. 最后只抢了3张无座票,但是我妈说能不能买有座位的啊,我说没有了啊,我妈:你过两天再帮我看 ...

  3. web开发技术中Servlet技术的概述

    1.servlet是什么:servlet是一个位于服务器端的java应用程序它可以像jsp一样,直接输出信息 servlet类必须继承HttpServlet类,否则,不能称为serlvet servl ...

  4. .net 实战 根据configuration选项生成不同的config文件

    项目开发过程中都会遇到的问题,开发环境的配置肯定是和生产环境不一样的,一直都是重复手动拷贝,但是配置太多拷贝的弊端就显现出来了,为了解决这个问题可以有几种方案: 1.Web.config Transf ...

  5. [转]HTTP请求模型和头信息参考

    [转]HTTP请求模型和头信息参考 参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型: http://blog.c ...

  6. Threejs基础学习【修改版】

    一. Three.js官网及使用Three.js必备的三个条件 1.Three.js 官网 https://threejs.org/ 2.使用Three.js必备的三个条件(To actually b ...

  7. 第11章 使用PHP从Web访问MySQL数据库

    1.过滤用户可能值其搜索条件的起始或结束位置不小心输入的空白字符: 应用trim(): 2.转义数据(第4章)函数:addslashes(),stripslashes(),get_magic_quot ...

  8. CSS3 filter(滤镜) 属性

    filter 属性定义了元素(通常是<img>)的可视效果 语法: object.style.WebkitFilter="grayscale(100%)" 小栗子: 修 ...

  9. Theos 工程make package时报错

    错误: /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires you to have a layout/ d ...

  10. CSS菜单横竖布局要点

    菜单纵向:把ul 元素的边框属性去除,li元素用border-top  上边框显示分离,把a 元素用display:block  text-decoration:none  去除默认下划线 菜单横向: ...