fastJson和jackson的日期数据处理

这篇具有很好参考价值的文章主要介绍了fastJson和jackson的日期数据处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.jackson

2.fastjson

3.总结


1.jackson

jackson是spring mvc默认的JSON解析方法,前端的数据序列化处理之后,后端经过反序列化处理可以直接使用实体对象进行接收。后端接口返回实体对象,经过序列化处理后前端可以接收并进行处理。

后端接收前端的日期参数以及后端的日期参数传递给前端,在序列化处理中,需要进行特殊处理。否则后端接收的时间不正确,会多8个小时;前端显示的时间没有被格式化。当然也可以在前端使用一些组件进行特殊处理。这里主要说明如何在后端进行处理。

(1)统一处理

①重写jsckson默认的配置,设置日期的格式
# 因为SpringBoot帮我们配置了JacksonAutoConfiguration,所以我们这边是可以正常返回接口的
# 根据JacksonAutoConfiguration里的代码我们是可以重写ObjectMapper去完成日期的代码格式化
# 在我们了解到JacksonAutoConfiguration类时,我们首先了解到的是JacksonHttpMessageConvertersConfiguration
# 在里面有MappingJackson2HttpMessageConverter,我们去重新定义这个我们也是可以解决的,但是就没有第一种方式比较简便
# 在WebMvcConfig类中我会放上这两种方式的代码,但会注释第二种方式的代码


@Configuration
public class WebMvcConfig {

    //@Bean
    //MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){
    //    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    //    ObjectMapper objectMapper = new ObjectMapper();
    //    objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
    //    converter.setObjectMapper(objectMapper);
    //    return converter;
    //}
    @Bean
    ObjectMapper objectMapper(){
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy/MM/dd"));
        return objectMapper;
    }

}

②在配置文件中配置日期格式

spring:
  jackson:
    date-format: yyyy-MM-dd

(2)单独处理

①使用注解方式,在实体类中配置注解,格式需要和前端传递的日期格式一致,否则会报错。

    /**
     * 绑定时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

 因为日期格式的不同,一般使用单独配置的方式,在实体类中添加注解,用于对前端传递的数据进行格式化及时区处理以及对后端的数据进行格式化传递给前端进行显示。

jackson相关的注解如下:

fastJson和jackson的日期数据处理,Json,状态模式

2.fastjson

fastjson是阿里的一款json工具,部分版本存在漏洞,使用时需要注意。

官网:http://code.alibabatech.com/wiki/display/FastJSON/Overview

在日期的格式化方式需要使用JSONField注解进行处理

比如在接口中使用String类型的参数接收前端传递的表单数据,然后再后端使用fastJson进行格式化处理,如果存在日期相关的数据,需要使用JSONfIeld进行处理。

    /**
     * 上传时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;
    /**
     * 发布时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm")
    private Date releaseTime;

3.总结

springmvc默认将前端数据使用jsckson进行转换,所有涉及到前端日期类型数据的接受以及回传给前端的日期数据,相关的字段要使用jsonformat注解
在代码中使用fastjson进行json格式的转换需要使用JSONField注解进行日期格式的转换,使用jsonformat会报转换失败的错误

com.alibaba.fastjson.JSONException: For input string: "2024-01-10 09:56"

参照 

jackson与fastjson_jackson和fastjson-CSDN博客

SpringBoot中默认的JSON解析方案 日期格式化多种解决方案_json格式化采用默认方式了-CSDN博客

Fastjson JSONField_w3cschool

Java日期格式化(@JsonFormat @JSONField)_jsonfield 格式化时间-CSDN博客 文章来源地址https://www.toymoban.com/news/detail-805095.html

到了这里,关于fastJson和jackson的日期数据处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端处理后端传来的Long型数据精度丢失的问题--对象转换器Jackson0bjectMapper

    1、问题描述 前端提交参数 后端处理 前端js对long型数据进行处理时丢失精度(只能保证16位),导致提交的id和数据库中的id不一致。 2、 问题实现 如何解决这个问题? 我们可以在服务端给页面响应json数据时进行处理,将long型数据统一转为String字符串 3、具体代码实现–对象

    2024年02月16日
    浏览(88)
  • Pandas对日期数据的处理

    Pandas对日期数据的处理 Pandas中提供了许多简单易用的日期数据处理函数,包括将字符串转换成为对应的日期数据,根据日期来选取数据等等。接下来,让我们了解一下Pandas中对日期数据的处理。 代码如下: 运行结果: 代码如下: 运行结果: pandas可以使用dt对象获取datetim

    2024年02月06日
    浏览(43)
  • oracle中对JSON数据处理

    在公司接手的项目碰到这么一个表,里面有一列数据保存的是JSON字符串。如果说这一列是一些配置数据,不需要应用到筛选和过滤,只是跟着主键去获得的数据,那你这么做并没有什么不妥。但事实是,这一列需要检索和过滤数据,这**居然是遍历全表,再把json数据转换成对

    2024年02月06日
    浏览(60)
  • 六、Json 数据的交互处理

           JSON 概况以及 JAVA 基本操作 JSON 数据的方式        因为现在的项目大多数都是前后端分离的项目,前端和后端都独立开发和部署。        由后端提供接口,前端从接口获取数据,将数据渲染到页面上。前后端数据传输的格式就是 JSON! JSON 和 JavaScript 的关系:

    2024年02月10日
    浏览(71)
  • SpringMVC JSON数据处理见解6

    springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置,只需引入以下类库springmvc就可以处理json数据: @RequestBody:作用是接收前端ajax传递给后端的json字符串,并将json格式的数据转为java对象 @ResponseBody:作用是将java对象转为json格式的数据传递给前台

    2024年01月18日
    浏览(35)
  • 使用ChatGLMTokenizer处理json格式数据

    我下载了一些中文wikipedia数据,准备采用ChatGLMTokenizer对齐进行清洗,整理为预训练语料。 其中,chatglm_tokenizer目录下的文件如下:

    2024年02月09日
    浏览(38)
  • swagger对json数据的处理

    在实习中遇到了一个不寻常的事情,今天和同事讨论一个小问题,同事使用swagger,想要调用一个接口,这个接口要传递一个json对象,对应java的一个实体类,但是 有一个属性同事不想看到它 ,就用@JsonIgnore给注掉了(当时这个我不知道,😫),问题出现的场景是在调用另一

    2024年02月16日
    浏览(40)
  • 如何使用Java处理JSON数据?

    在Java中,您可以使用许多库来处理JSON数据。以下是使用一种常见的库 Gson 的示例: 首先,确保您已经将 Gson 库添加到您的项目中。您可以在 Maven 中添加以下依赖项: 导入 Gson 类: 创建一个 Gson 实例: 将 JSON 字符串转换为 Java 对象,使用  fromJson()  方法: 上面代码中,将

    2024年02月15日
    浏览(48)
  • AJAX与JSON数据交互处理

    Ajax即 A synchronous  J avascript  A nd  X ML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 [3]  使用Ajax技术网页应用能够快速地将增量更新呈现在

    2024年02月09日
    浏览(50)
  • 常用python代码大全-python使用json模块处理JSON数据

    在Python中, json 模块提供了一种简单的方法来编码和解码JSON数据。以下是一个简单的例子,说明如何使用 json 模块来处理JSON数据。 首先,我们需要导入 json 模块: 编码(Encode)JSON 数据 要将Python对象编码为JSON格式,我们可以使用 json.dumps() 函数。这个函数将Python对象转换为

    2024年01月20日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包