`
流浪鱼
  • 浏览: 1693367 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

json中支持java.sql,Date

    博客分类:
  • java
 
阅读更多

我们在使用json的包返回数据的时候,如果返回的对象包含Date日期对象的时候,后台老报错误,老是不能转换,那么我们就需要自定义日期对象的显示格式了,其实也很简单总体思路是:

1.自己实现下JsonValueProcessor接口,写上自己的实现逻辑。代码如下:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
/**
 * 
 * @类功能说明:支持java.sql.Date显示
 * @类修改者:
 * @修改日期:
 * @修改说明:
 * @作者:流浪鱼
 * @创建时间:2013-7-17 上午11:24:11
 * @版本:V1.0
 */
public class DateJsonValueProcessor implements JsonValueProcessor{
	public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";  
	private DateFormat dateFormat;  

	/**   
     * 构造方法.   
     *   
     * @param datePattern 日期格式   
     */  
    public DateJsonValueProcessor(String datePattern) {  
        try {  
            dateFormat = new SimpleDateFormat(datePattern);  
        } catch (Exception ex) {  
            dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);  
        }  
    } 
    
	@Override
	public Object processArrayValue(Object value, JsonConfig jsonConfig) {
		return process(value); 
	}

	@Override
	public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
		return process(value);  
	}
	
	 private Object process(Object value) {  
	        if (value == null) {  
	            value = new Date();   
	        }  
	        return dateFormat.format((Date) value);  
	    }  

}

2.使用json转换时使用JsonConfig中进行注册,并在使用的时候自定自定义的config

JsonConfig config = new JsonConfig();
DateJsonValueProcessor dateProcessor = new DateJsonValueProcessor("yyyy-MM-dd");
		config.registerJsonValueProcessor(java.sql.Date.class, dateProcessor);
JSONArray array=JSONArray.fromObject(list,config);
        Struts2Utils.getResponse().setContentType("text/html;charset=gbk");
		Struts2Utils.getResponse().getWriter().write(array.toString());

 这样可以支持了

 

 

分享到:
评论

相关推荐

    json与java对象互转

    .registerTypeAdapter(java.sql.Date.class, new SQLDateSerializer()) .registerTypeAdapter(java.util.Date.class, new UtilDateSerializer()) .setDateFormat(DateFormat.LONG) .setPrettyPrinting() ....

    MySql于Java数据类型对应列表

    **JAVA类型:** `java.sql.Date` **JDBC类型:** 91 **描述:** `DATE` 用于存储日期值(年月日)。在Java中,它被映射为 `Date` 类型。 ##### 16. TIME (时间) **显示长度:** 8 **数据库类型:** TIME **JAVA类型...

    Json处理工具类

    - `java.sql.Date`: SQL日期处理。 - `java.text.ParseException`: 解析异常处理。 - `java.text.SimpleDateFormat`: 日期格式化。 - `java.util.ArrayList`: 动态数组实现。 - `java.util.List`: 定义列表接口。 - ...

    json转换工具,支持日期

    3. `SqlDateProcessor.java`和`UtilDateProcessor.java`: 这两个类与`TimestampProcessor`类似,分别处理`java.sql.Date`和`java.util.Date`类型。由于这些日期类型在JSON中表示方式的不同,自定义处理器可以确保...

    java进行时间的转换

    - Java 8的`java.time`包默认支持ISO 8601标准,如`yyyy-MM-dd'T'HH:mm:ss.SSSXXX`格式,方便与网络通信或JSON序列化/反序列化配合使用。 5. 日期和时间的计算: - 使用`java.time`包中的`plusDays()`, `...

    json示例.docx

    Java提供了多种方式来处理日期时间,包括使用java.util.Date类、使用java.sql.Date类、使用java.time包中的类等。不同的方式都有其优缺,选择合适的方式取决于项目的需求和复杂度。 集合操作 在该代码中,我们可以...

    fastJSON.docx

    FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。 FastJSON 还提供了基于格式化输出的 SerializerFeature,例如 WriteDateUseDateFormat,能够...

    比较全的java工具类

    以上只是Java工具类的一部分,实际中还有很多实用的工具类,例如用于XML处理的`javax.xml.parsers.DocumentBuilderFactory`,用于JSON解析的`org.json.JSONObject`等。这些工具类大大简化了开发工作,提升了代码质量...

    java_code_for_common_functions.rar_JSON_java json_jquery_数据库 转换

    Java中常见的JSON库有Jackson、Gson和org.json。给定的代码可能包含解析JSON字符串成Java对象,或者将Java对象转换为JSON字符串的函数,如`parseJSON()`和`toJSONString()`。 5. **数据库连接与JDBC**: JDBC...

    fastJSON使用.docx

    FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...

    fastJSON使用.pdf

    FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...

    java获取时间大全

    - `java.sql.Date`:专门用于处理SQL日期,不包含时间部分。 - `java.time.LocalDate`:Java 8引入的新类,用于表示没有时间信息的日期。 - `java.time.LocalDateTime`:包含了日期和时间,但不包含时区信息。 2...

    fastJSON.pdf

    FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...

    java常用包2 81个

    在实际项目中,你可能会遇到更多的包,例如`javax.servlet`用于Web服务器编程,`com.google.gson`用于JSON转换等,这些都是Java生态中不可或缺的一部分。持续学习和探索这些包的用法,将使你的编程技能更为全面和...

    mysql-connector-java-8.0.19_Java8_MYSQL_源码

    在Java 8中,引入了若干新特性,如lambda表达式、Stream API和Date/Time API等,这些都使得开发更加高效。而MySQL Connector/J 8.0.19版本则确保了与Java 8的良好兼容性,允许开发者充分利用这些新特性进行数据库...

    java开发常见工具类

    本文将详细讲解几个常见的Java工具类,包括地址解析工具、日期操作工具、邮件工具、JSON工具以及SQL工具,这些工具类极大地提高了开发效率。 1. 地址解析工具:在处理网络相关的任务时,例如获取或设置IP地址、域名...

    Java类库-适合初学者学习Java编程语言

    14. **JSON支持**:Java 11引入了`java.json`包,提供了对JSON格式的数据处理,包括解析和生成JSON。 15. **Java EE(企业版)**:包含Servlet、JSP、EJB等技术,用于构建分布式企业级应用。 以上只是Java类库中的...

    JsonQuery:基于 Java 的 JSON 查询引擎

    一个基于 Java 的 JSON 查询引擎。 快速浏览 注意该软件包目前包含一个简单的 SQL 引擎,但是,它仍处于实验阶段。 JsonQuery 为您提供了用于使用、遍历、查询、编辑和生成 JSON 的 Java 工具。 它使用 Gson 库进行...

    20个超级有用的Java程序片段

    - `util.Date` 是Java标准库中的日期类,而 `sql.Date` 是JDBC用于数据库交互的日期类。 - 通过 `new sql.Date(utilDate.getTime())` 将 `util.Date` 转换为 `sql.Date`。 7. **使用NIO进行文件快速拷贝** - ...

Global site tag (gtag.js) - Google Analytics