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

Java對(duì)象轉(zhuǎn)json JsonFormat注解

 更新時(shí)間:2020年05月08日 14:50:47   作者:愛(ài)喝芒果汁  
這篇文章主要介紹了Java對(duì)象轉(zhuǎn)json JsonFormat注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

寫在前面,首先,我用的java轉(zhuǎn)json序列化的工具是java開源的jackson。

今天在做后端接口的時(shí)候,發(fā)現(xiàn)獲取的json對(duì)象中少了幾個(gè)屬性,因?yàn)槠渌慕涌诙寄艿玫秸_的json,所以很快就找到了問(wèn)題所在,先上代碼

public class ChargeDto implements Serializable {
  private static final long serialVersionUID = -4617215025083571608L;
  protected Integer cId;
  protected String Item;
  protected Double Amount;
  protected Integer Vcid;
  @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
  protected Date CreateTime;
  protected String CreateEName;
}

{
 "status": 200,
 "message": "成功",
 "data": [
  {
   "CreateTime": "2020-05-04 01:41:19"
  },
  {
   "CreateTime": "2020-05-04 02:10:11"
  }]
}

是的,這里我的類中只有屬性,沒(méi)有g(shù)etter、setter方法,所以獲取的json中少了一些屬性。

解決方法一:后來(lái)我將類中的所有屬性加上了getter、setter方法之后得到了正確的json對(duì)象。

{
 "status": 200,
 "message": "成功",
 "data": [
  {
   "cId": 1,
   "item": "掛號(hào)",
   "createEName": "醫(yī)生1",
   "createTime": "2020-05-04 01:41:19",
   "amount": 5,
   "vcid": 1
  },
  {
   "cId": 2,
   "CreateTime": "2020-41-04 01:41:38",
   "item": "處方結(jié)算",
   "createEName": "醫(yī)生1",
   "createTime": "2020-05-04 02:10:11",
   "amount": 122,
   "vcid": 1
  }]
}

雖然很快解決了,但是我還是上網(wǎng)查了下原因,然后我查閱知曉對(duì)于我用的jackson來(lái)說(shuō),需要類中有g(shù)etter方法。是的,雖然我一次性把Setter方法也加上了,但是對(duì)于jackson將java對(duì)象轉(zhuǎn)json來(lái)說(shuō),只要有Getter方法就行了。甚至是不需要有屬性!

注意:java對(duì)象轉(zhuǎn)成json成立的基本條件只需要有g(shù)et方法!!

然后我發(fā)現(xiàn)我一開始雖然丟失了幾個(gè)屬性,但是我也是有屬性轉(zhuǎn)為了json的,就是CreateTime。于是我就注意到了我在CreateTime屬性上加的注解@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss"),我想著是不是和這個(gè)注解有關(guān),于是我將Getter方法刪去,在其他屬性上加上了注解

public class ChargeDto implements Serializable {
  private static final long serialVersionUID = -4617215025083571608L;
  protected Integer cId;
  protected String Item;
  @JsonFormat
  protected Double Amount;
  @JsonFormat
  protected Integer Vcid;
  @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
  protected Date CreateTime;
  protected String CreateEName;
}

然后在json中成功都得到了該屬性,

{
 "status": 200,
 "message": "成功",
 "data": [
  {
   "Amount": 5,
   "Vcid": 1,
   "CreateTime": "2020-04-04 01:41:19"
  },
  {
   "Amount": 122,
   "Vcid": 1,
   "CreateTime": "2020-04-04 01:41:38"
  }]
}

所以,解決方法二:在你需要轉(zhuǎn)為json的屬性上加上@JsonFormat注解即可

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java按值傳遞和按址傳遞(面試常見)

    Java按值傳遞和按址傳遞(面試常見)

    這篇文章主要介紹了Java按值傳遞和按址傳遞(面試常見)知識(shí),在面試筆試題中經(jīng)常會(huì)遇到,今天小編給大家詳細(xì)介紹下,需要的朋友可以參考下
    2017-02-02
  • JUC系列學(xué)習(xí)工具類CountDownLatch詳解

    JUC系列學(xué)習(xí)工具類CountDownLatch詳解

    這篇文章主要介紹了JUC系列學(xué)習(xí)工具類CountDownLatch詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下
    2022-08-08
  • java實(shí)現(xiàn)簡(jiǎn)單的給sql語(yǔ)句賦值的示例

    java實(shí)現(xiàn)簡(jiǎn)單的給sql語(yǔ)句賦值的示例

    這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單的給sql語(yǔ)句賦值的示例,需要的朋友可以參考下
    2014-05-05
  • 在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說(shuō)明

    在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說(shuō)明

    這篇文章主要介紹了在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Java中args參數(shù)數(shù)組的用法說(shuō)明

    Java中args參數(shù)數(shù)組的用法說(shuō)明

    這篇文章主要介紹了Java中args參數(shù)數(shù)組的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    這篇文章主要介紹了java8 stream自定義分組求和并排序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Java全面深入探究SpringBoot攔截器與文件上傳

    Java全面深入探究SpringBoot攔截器與文件上傳

    攔截器對(duì)使用SpringMvc、Struts的開發(fā)人員來(lái)說(shuō)特別熟悉,因?yàn)槟阒灰肴プ龊靡粋€(gè)項(xiàng)目必然會(huì)用到它,文件上傳是一個(gè)很常見的功能。在項(xiàng)目開發(fā)過(guò)程中,我們通常都會(huì)使用一些成熟的上傳組件來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能
    2022-05-05
  • java使用jna調(diào)用c#中dll的方法詳解

    java使用jna調(diào)用c#中dll的方法詳解

    前一段時(shí)間接了個(gè)項(xiàng)目,需要用到第三方提供的C#編寫的dll,本身項(xiàng)目是java語(yǔ)言,所以便有了下面這篇文章,本文給大家介紹了關(guān)于java中如何使用jna調(diào)用c#中dll的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09
  • springboot?無(wú)法自動(dòng)裝配的問(wèn)題

    springboot?無(wú)法自動(dòng)裝配的問(wèn)題

    這篇文章主要介紹了springboot?無(wú)法自動(dòng)裝配的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 如何實(shí)現(xiàn)java Iterator迭代器功能

    如何實(shí)現(xiàn)java Iterator迭代器功能

    這篇文章主要介紹了如何實(shí)現(xiàn)java Iterator迭代器功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論