json datatime convert

转载 2015年11月19日 18:14:04

原文链接


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"

自定义一个日期处理器:

  1. import java.text.SimpleDateFormat;  
  2. import java.util.Date;  
  3.   
  4. import net.sf.json.JsonConfig;  
  5. import net.sf.json.processors.JsonValueProcessor;  
  6.   
  7. /**  
  8.  * JSON日期格式转换 
  9.  *  
  10. */  
  11. public class DateJsonValueProcessor implements JsonValueProcessor  
  12. {  
  13.     private String format = "yyyy-MM-dd HH:mm:ss";  
  14.   
  15.     public DateJsonValueProcessor()  
  16.     {  
  17.   
  18.     }  
  19.   
  20.     public DateJsonValueProcessor(String format)  
  21.     {  
  22.   
  23.         this.format = format;  
  24.     }  
  25.   
  26.     public Object processArrayValue(Object value, JsonConfig jsonConfig)  
  27.     {  
  28.   
  29.         String[] obj = {};  
  30.         if (value instanceof Date[])  
  31.         {  
  32.             SimpleDateFormat sf = new SimpleDateFormat(format);  
  33.             Date[] dates = (Date[]) value;  
  34.             obj = new String[dates.length];  
  35.             for (int i = 0; i < dates.length; i++)  
  36.             {  
  37.                 obj[i] = sf.format(dates[i]);  
  38.             }  
  39.         }  
  40.         return obj;  
  41.     }  
  42.   
  43.     public Object processObjectValue(String key, Object value, JsonConfig jsonConfig)  
  44.     {  
  45.   
  46.         if (value instanceof Date)  
  47.         {  
  48.             String str = new SimpleDateFormat(format).format((Date) value);  
  49.             return str;  
  50.         }  
  51.         return value;  
  52.     }  
  53.   
  54.     public String getFormat()  
  55.     {  
  56.   
  57.         return format;  
  58.     }  
  59.   
  60.     public void setFormat(String format)  
  61.     {  
  62.   
  63.         this.format = format;  
  64.     }  
  65.   
  66. }  

转换调用代码:

  1. JsonConfig jsonConfig = new JsonConfig();  
  2. jsonConfig.registerJsonValueProcessor(java.util.Date.classnew DateJsonValueProcessor());  
  3. JSONObject jsonObj = JSONObject.fromObject(bean, jsonConfig);  
  4. return jsonObj.toString();  

相关文章推荐

Convert JSON string 转 Map

1. JSON string to Map Example to convert JSON string to a Map. JsonMapExample.java packag...

How to convert XML to JSON in ASP.NET C#

原文:http://www.phdcc.com/xml2json.htm
  • Joyhen
  • Joyhen
  • 2014年07月09日 01:04
  • 1088

How to convert Java object to / from JSON (Gson)

JSON is stand for JavaScript Object Notation, it is a lightweight data-interchange format. You can s...

javaBean Convert to Json Str

package com.jumu.jygl.actions.student; import java.lang.reflect.Field; import java.lang.reflect.Me...

Java JSON - Convert Java Object To / From JSON (Jackson)

Java JSON - Convert Java Object To / From JSON (Jackson) JSON(JavaScript Object Notation)是一种轻量级的数...

IOS json转对象 /json 转 Object / ios json to Object / ios json convert Object

直奔主题:在ios平台做通用的json数据解析,直接将json格式字符串转化成 对应的Object类(比如:jsonUser 转 User对象)。 思路: 1. 获取服务器端的json数据,然后解析...

c# 常见DataTime操作类

  • 2011年03月31日 16:32
  • 46KB
  • 下载

DataTime

  • 2008年07月23日 23:38
  • 29KB
  • 下载

DataTime.Now()

是SDK中详细文档.  1)日期格式化显示  在SQL中DateTime为8位长度日期的指定形式为2003-12-31 00:00:00  而在ASP.NET上最常用的只是2003-1...

mysql数据库 复制一条记录到另外一张表中 本来为null的datatime字段,复制到另一张表中变为了0000-00-00 00:00:00

mysql数据库: 问题描述:复制一条记录到另外一张表中 本来为null的datatime字段,复制到另一张表中变为了0000-00-00 00:00:00 情景描述:java项目,有两个数据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:json datatime convert
举报原因:
原因补充:

(最多只允许输入30个字)