fastjson格式化时间怎么操作?Fastjson 特性有哪些?

阳光 2021-05-14 21:27:05 java常见问答 7429

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工具网。

推荐阅读:

Java有没有goto?什么是Java保留字?

Spring Boot中如何解决跨域问题?Spring Boot有什么特征?

Java有哪些数据类型?Java数据类型讲解