亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java使用JSON實現(xiàn)處理中文亂碼和Date格式

 更新時間:2023年06月25日 09:18:01   作者:小花皮豬  
這篇文章主要為大家詳細介紹了Java如何在項目中使用JSON實現(xiàn)處理中文亂碼和Date格式的功能,文中的示例代碼講解詳細,需要的小伙伴可以參考一下

JSON中文亂碼

如果出現(xiàn)亂碼,我們需要設(shè)置他的編碼格式為utf-8,以及它返回的類型,通過@RequesMapping的produces屬性來實現(xiàn),代碼如下

produces:指定響應體返回類型和編碼

JSON處理Date格式

@RequestMapping(value = "/date1" )
@ResponseBody
public String date1() throws JsonProcessingException {
    //聲明時間日期 注意是util下的
 Date date = new Date();
    //打印默認時間日期格式  Tue Feb 08 21:36:27 CST 2022
 System.out.println(date);
    //發(fā)現(xiàn)問題  時間默認返回的json字符串變成了時間戳類型的格式 Timestamp 1644327387386
  return   new ObjectMapper().writeValueAsString(date);
}

發(fā)現(xiàn)問題:時間默認返回的json字符串變成了時間戳類型的格式 Timestamp 1644327387386

處理問題:如何讓它不返回時間戳?如何時間格式化問題

//關(guān)閉ObjectMapper的時間戳功能 通過objectMapper的configure方法關(guān)閉時間戳功能
**ObjectMapper objectMapper=new ObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
**SimpleDateFormat simpleDateFormat = new SimpleDateFormat( “yyyy-MM-dd HH:mm:ss” );
**objectMapper.setDateFormat(simpleDateFormat);

@RequestMapping(value = "/date2" )
@ResponseBody
public String date2() throws JsonProcessingException {
     //1 如何讓它不返回時間戳?   通過objectMapper的configure方法關(guān)閉時間戳功能
 ObjectMapper objectMapper=new ObjectMapper();
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
     //2 時間格式化問題 自定義日期格式對象
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
     //3 讓objectMapper指定日期格式為simpleDateFormat
 objectMapper.setDateFormat(simpleDateFormat);
    //聲明Date
 Date date = new Date();
    //格式化日期并輸出
    System.out.println(simpleDateFormat.format(date));//2022-02-08 22:01:12
    return objectMapper.writeValueAsString(date);//"2022-02-08 22:01:12"
}

封裝JSON工具日期轉(zhuǎn)化工具類

上述代碼冗余 我們把公共代碼提取出來進行封裝成工具類,下次使用直接調(diào)用即可

工具類和公共方法

package com.wyh.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.util.Date;
import java.text.SimpleDateFormat;
 /**
 *  @program:  SpringBoot-Ajax-JSON
 *  @description:  JSON日期格式化封裝類
 *  @author:  魏一鶴
 *  @createDate:  2022-02-08 22:07
 **/
public class JSONDateUtil {
    //重載 把時間戳也進行封裝
 //如果沒有自定義時間格式的話就使用我們默認的yyyy-MM-dd HH:mm:ss"
 //如果調(diào)用方法在參數(shù)列表指明了自定義時間格式的話就使用參數(shù)列表的時間格式
  public static String JSONFormatDateUtil(Object object){
        return JSONFormatDateUtil(object, "yyyy-MM-dd HH:mm:ss" );
    }
    // JSON轉(zhuǎn)換日期的公共方法,直接傳遞Date類型的參數(shù)使用ObjectMapper進行處理 需要拋出異常 得到格式化好之后的json日期類型
 // 把方法用static進行修飾是為了不用創(chuàng)建工具類對象就能直接通過“.”進行公共方法的調(diào)用
  public static String JSONFormatDateUtil(Object object,String dateFormat){
        //1 創(chuàng)建ObjectMapper工具類
 ObjectMapper objectMapper=new ObjectMapper();
        //2 通過ObjectMapper類的configure方法關(guān)閉時間戳功能
 objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
        //3 創(chuàng)建時間格式化SimpleDateFormat類 自定義日期格式對象
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
        //4 把自定義格式化好之后的日期類型給objectMapper的setDateFormat去用,用來轉(zhuǎn)換時間格式
 objectMapper.setDateFormat(simpleDateFormat);
        //5 json轉(zhuǎn)換時間格式得到j(luò)son字符串日期類型
 //封裝的時候盡量不要拋異常而是捕獲異常 不然每次調(diào)用這個方法都要在其他地方進行拋異常
 String JSONDate = null;
        try {
            JSONDate = objectMapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        //6 返回最終處理好的json字符串日期類型
  return JSONDate;
    }
}

使用工具類和公共方法

   //使用工具類和公共方法
 @RequestMapping(value = "/date3" )
    @ResponseBody
    public String date3()  {
        //聲明Date
 Date date = new Date();
        //使用工具類的公共方法把date進行傳參轉(zhuǎn)換格式
 String JSONDate = JSONDateUtil.JSONFormatDateUtil(date);
        //返回json日期類型
  return JSONDate; //"2022-02-08 22:31:11"
    }
}
 //使用工具類
@RequestMapping(value = "/date3" )
@ResponseBody
public String date3()  {
    //聲明Date
 Date date = new Date();
    //使用工具類的公共方法把date進行傳參轉(zhuǎn)換格式
 String JSONDate = JSONDateUtil.JSONFormatDateUtil(date, "yyyy" ); 
    //返回json日期類型
  return JSONDate; //"2022"
}
 //使用工具類
@RequestMapping(value = "/date3" )
@ResponseBody
public String date3()  {
    //聲明Date
 Date date = new Date();
    //使用工具類的公共方法把date進行傳參轉(zhuǎn)換格式
 String JSONDate = JSONDateUtil.JSONFormatDateUtil(date, "yyyy-MM-dd" );
    //返回json日期類型
  return JSONDate;  //"2022-02-08"
}

到此這篇關(guān)于Java使用JSON實現(xiàn)處理中文亂碼和Date格式的文章就介紹到這了,更多相關(guān)JSON處理中文亂碼和Date格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Scala中Array和List的區(qū)別說明

    Scala中Array和List的區(qū)別說明

    這篇文章主要介紹了Scala中Array和List的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 深入解析Java編程中的boolean對象的運用

    深入解析Java編程中的boolean對象的運用

    這篇文章主要介紹了Java編程中的boolean對象的運用,是Java入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • 淺談Spring6中的反射機制

    淺談Spring6中的反射機制

    Java反射機制是Java語言中一種動態(tài)(運行時)訪問、檢測、修改它本身的能力,主要作用是動態(tài)(運行時)獲取類的完整結(jié)構(gòu)信息、調(diào)用對象的方法,需要的朋友可以參考下
    2023-05-05
  • 詳解JVM基礎(chǔ)之字節(jié)碼的增強技術(shù)

    詳解JVM基礎(chǔ)之字節(jié)碼的增強技術(shù)

    字節(jié)碼增強技術(shù)就是一類對現(xiàn)有字節(jié)碼進行修改或者動態(tài)生成全新字節(jié)碼文件的技術(shù)。接下來,我們將從最直接操縱字節(jié)碼的實現(xiàn)方式開始深入進行剖析,感興趣的可以了解一下
    2022-10-10
  • Java中ByteArrayOutputStream亂碼問題解決

    Java中ByteArrayOutputStream亂碼問題解決

    本文主要介紹了Java中ByteArrayOutputStream亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 關(guān)于SpringBoot整合RabbitMQ實現(xiàn)死信隊列

    關(guān)于SpringBoot整合RabbitMQ實現(xiàn)死信隊列

    這篇文章主要介紹了關(guān)于SpringBoot整合RabbitMQ實現(xiàn)死信隊列,死信隊列實際上就是一個普通的隊列,只是這個隊列跟死信交換機進行了綁定,用來存放死信而已,需要的朋友可以參考下
    2023-05-05
  • Java Hutool(糊涂)工具類索引詳解

    Java Hutool(糊涂)工具類索引詳解

    這篇文章主要介紹了Java Hutool(糊涂)工具類索引,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java?導出?CSV?文件操作詳情

    Java?導出?CSV?文件操作詳情

    這篇文章主要介紹了Java導出CSV文件操作詳情,文章通過導入坐標展開詳細內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 解決idea check out 切換分支時找不到需要的分支問題

    解決idea check out 切換分支時找不到需要的分支問題

    這篇文章主要介紹了解決idea check out 切換分支時找不到需要的分支問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java中Console對象實例代碼

    Java中Console對象實例代碼

    這篇文章主要介紹了Java中Console對象實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02

最新評論