我们在使用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());
这样可以支持了
相关推荐
.registerTypeAdapter(java.sql.Date.class, new SQLDateSerializer()) .registerTypeAdapter(java.util.Date.class, new UtilDateSerializer()) .setDateFormat(DateFormat.LONG) .setPrettyPrinting() ....
**JAVA类型:** `java.sql.Date` **JDBC类型:** 91 **描述:** `DATE` 用于存储日期值(年月日)。在Java中,它被映射为 `Date` 类型。 ##### 16. TIME (时间) **显示长度:** 8 **数据库类型:** TIME **JAVA类型...
- `java.sql.Date`: SQL日期处理。 - `java.text.ParseException`: 解析异常处理。 - `java.text.SimpleDateFormat`: 日期格式化。 - `java.util.ArrayList`: 动态数组实现。 - `java.util.List`: 定义列表接口。 - ...
3. `SqlDateProcessor.java`和`UtilDateProcessor.java`: 这两个类与`TimestampProcessor`类似,分别处理`java.sql.Date`和`java.util.Date`类型。由于这些日期类型在JSON中表示方式的不同,自定义处理器可以确保...
- Java 8的`java.time`包默认支持ISO 8601标准,如`yyyy-MM-dd'T'HH:mm:ss.SSSXXX`格式,方便与网络通信或JSON序列化/反序列化配合使用。 5. 日期和时间的计算: - 使用`java.time`包中的`plusDays()`, `...
Java提供了多种方式来处理日期时间,包括使用java.util.Date类、使用java.sql.Date类、使用java.time包中的类等。不同的方式都有其优缺,选择合适的方式取决于项目的需求和复杂度。 集合操作 在该代码中,我们可以...
FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。 FastJSON 还提供了基于格式化输出的 SerializerFeature,例如 WriteDateUseDateFormat,能够...
以上只是Java工具类的一部分,实际中还有很多实用的工具类,例如用于XML处理的`javax.xml.parsers.DocumentBuilderFactory`,用于JSON解析的`org.json.JSONObject`等。这些工具类大大简化了开发工作,提升了代码质量...
Java中常见的JSON库有Jackson、Gson和org.json。给定的代码可能包含解析JSON字符串成Java对象,或者将Java对象转换为JSON字符串的函数,如`parseJSON()`和`toJSONString()`。 5. **数据库连接与JDBC**: JDBC...
FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...
FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...
- `java.sql.Date`:专门用于处理SQL日期,不包含时间部分。 - `java.time.LocalDate`:Java 8引入的新类,用于表示没有时间信息的日期。 - `java.time.LocalDateTime`:包含了日期和时间,但不包含时区信息。 2...
FastJSON 直接支持日期类型数据的格式化,包括 java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。缺省情况下,FastJSON 将 Date 类型序列化为 long,这个使得序列化和反序列化的过程不会导致时区...
在实际项目中,你可能会遇到更多的包,例如`javax.servlet`用于Web服务器编程,`com.google.gson`用于JSON转换等,这些都是Java生态中不可或缺的一部分。持续学习和探索这些包的用法,将使你的编程技能更为全面和...
在Java 8中,引入了若干新特性,如lambda表达式、Stream API和Date/Time API等,这些都使得开发更加高效。而MySQL Connector/J 8.0.19版本则确保了与Java 8的良好兼容性,允许开发者充分利用这些新特性进行数据库...
本文将详细讲解几个常见的Java工具类,包括地址解析工具、日期操作工具、邮件工具、JSON工具以及SQL工具,这些工具类极大地提高了开发效率。 1. 地址解析工具:在处理网络相关的任务时,例如获取或设置IP地址、域名...
14. **JSON支持**:Java 11引入了`java.json`包,提供了对JSON格式的数据处理,包括解析和生成JSON。 15. **Java EE(企业版)**:包含Servlet、JSP、EJB等技术,用于构建分布式企业级应用。 以上只是Java类库中的...
一个基于 Java 的 JSON 查询引擎。 快速浏览 注意该软件包目前包含一个简单的 SQL 引擎,但是,它仍处于实验阶段。 JsonQuery 为您提供了用于使用、遍历、查询、编辑和生成 JSON 的 Java 工具。 它使用 Gson 库进行...
- `util.Date` 是Java标准库中的日期类,而 `sql.Date` 是JDBC用于数据库交互的日期类。 - 通过 `new sql.Date(utilDate.getTime())` 将 `util.Date` 转换为 `sql.Date`。 7. **使用NIO进行文件快速拷贝** - ...