Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。那在开发过程中,要想格式化时间要怎么操作呢?下面来我们就来给大家讲解一下。
第一种方法:
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
String str = JSON.toJSONString(user,SerializerFeature.WriteDateUseDateFormat);
第二种方法:
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS")
基于fastjson返回时间类型格式:
看一下fastjson源码
public abstract class JSON implements JSONStreamAware, JSONAware { public static TimeZone defaultTimeZone = TimeZone.getDefault(); public static Locale defaultLocale = Locale.getDefault(); public static String DEFAULT_TYPE_KEY = "@type"; static final SerializeFilter[] emptyFilters = new SerializeFilter[0]; public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static int DEFAULT_PARSER_FEATURE; public static int DEFAULT_GENERATE_FEATURE; public static final String VERSION = "1.2.12"; private static final ThreadLocalbytesLocal; private static final ThreadLocalcharsLocal;
可以看出,如果不指定时间格式,它默认格式为
public static String DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
所以我们只需要在json工具类中
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd"; String userAgent = request.getHeader("User-Agent"); if (userAgent.indexOf("MSIE") > -1 && (userAgent.indexOf("MSIE 6") > -1)) { writer.write(JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat , SerializerFeature.DisableCircularReferenceDetect)); } else { writer.write(JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat , SerializerFeature.DisableCircularReferenceDetect)); }
数据转json格式方法前,添加相应的时间格式即可,如:
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
Fastjson 特性有哪些?
提供服务器端、安卓客户端两种解析工具,性能表现较好。
提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
允许转换预先存在的无法修改的对象(只有class、无源代码)。
Java泛型的广泛支持。
允许对象的自定义表示、允许自定义序列化类。
支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。
Fastjson 可以操作任何 Java 对象,它的性能比较好。如果开发人员想要格式化时间可以参考以上两种方法。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: