最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于@JsonProperty和@JSONField注解的區(qū)別及用法

 更新時間:2022年08月30日 09:00:18   作者:堅持與努力  
這篇文章主要介紹了關(guān)于@JsonProperty和@JSONField注解的區(qū)別及用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@JsonProperty和@JSONField注解區(qū)別及用法

1. 目的

都是為了解決bean與json字段不一致問題,或者字段定義不符合前端所需要的標準

2. 區(qū)別

1.框架不同:

@jsonProperty是 Jackson的包,而@jsonfield是fastjson的包

2.用法不同:

(1)bean轉(zhuǎn)換成Json字符串:

  • @JsonProperty:ObjectMapper().writeValueAsString(Object value)
  • @JSONField:ObjectMapper().readValue(String content, Class valueType)

(2)Json字符串轉(zhuǎn)化為bean:

  • @JsonProperty:ObjectMapper().readValue(String content, Class valueType)
  • @JSONField:JSONObject.parseObject(String content, Class valueType)

(3)@JSONField這個注解可以用于get、set以及屬性上面

public class Test{
	
	/*
		注解在屬性上的時候可以設(shè)置一些序列化、格式化的屬性
		@JSONField(serialize = false)---->序列化的時候忽略這個屬性
		@JSONField(format = "yyyyMMdd")---->序列化和反序列化額時候使用yyyyMMdd,一般在Date類型的字段上使用
	*/	
	@JSONField(serialize = false)
	public String Name;
	/*
		注解在set方法表示json轉(zhuǎn)成bean的時候會將json中的Name屬性賦值給實體類的Name
	*/
	@JSONField(name="Name")
	public void setName(String Name){
		this.Name = Name;
	}
	/*
		注解在get方法表示bean轉(zhuǎn)換成json的時候會把實體類的Name屬性值賦給json的Name
	*/
	@JSONField(name="Name")
	public String getName(){
		return this.Name;
	}
}

(3)@JSONproperty這個注解用于屬性上面

如把trueName屬性序列化為name,可以在屬性名上面增加@JsonProperty(value=“name”)。

(4)jackson的@JsonIgnore使用

作用:在json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

使用方法:一般標記在屬性或者方法上,返回的json數(shù)據(jù)即不包含該屬性。

jsonField和jsonProperty注解的坑

遇到的問題:

實體類中的字段一般都是首字母小寫的,但是所要傳輸?shù)膉son數(shù)據(jù)(接收的和發(fā)出去的)都要求字段的首字母大寫

public class Test{
?? ?private String Name;------>setter + getter
}
json:
{
?? ?'Name': 'test'
}

但是這樣直接接收的話是接收不到Name的取值的

所以需要使用jsonField注解和jsonProperty注解

@JSONField

這個注解分別可以注解在實體類的屬性、setter和getter方法上

public class Test{?? ?
?? ?/*
?? ??? ?注解在屬性上的時候可以設(shè)置一些序列化、格式化的屬性
?? ??? ?@JSONField(serialize = false)---->序列化的時候忽略這個屬性
?? ??? ?@JSONField(format = "yyyyMMdd")---->序列化和反序列化額時候使用yyyyMMdd,一般在Date類型的字段上使用
?? ?*/?? ?
?? ?@JSONField(serialize = false)
?? ?public String Name;
?? ?/*
?? ??? ?注解在set方法表示json轉(zhuǎn)成bean的時候會將json中的Name屬性賦值給實體類的Name
?? ?*/
?? ?@JSONField(name="Name")
?? ?public void setName(String Name){
?? ??? ?this.Name = Name;
?? ?}
?? ?/*
?? ??? ?注解在get方法表示bean轉(zhuǎn)換成json的時候會把實體類的Name屬性值賦給json的Name
?? ?*/
?? ?@JSONField(name="Name")
?? ?public String getName(){
?? ??? ?return this.Name;
?? ?}
}

@JSONProperty

( 1 ) 此注解用于屬性上,作用是把該屬性的名稱序列化為另外一個名稱,

( 2 ) 如把trueName屬性序列化為name,@JsonProperty(value=“name”)

( 3 ) 類似@JSONField注解注在setter方法上

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot?Validation提示信息國際化配置方式

    SpringBoot?Validation提示信息國際化配置方式

    這篇文章主要介紹了SpringBoot?Validation提示信息國際化配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java線程安全狀態(tài)專題解析

    Java線程安全狀態(tài)專題解析

    線程安全是多線程編程時的計算機程序代碼中的一個概念。在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會通過同步機制保證各個線程都可以正常且正確的執(zhí)行,不會出現(xiàn)數(shù)據(jù)污染等意外情況
    2022-03-03
  • JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解

    JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解

    這篇文章主要為大家介紹了JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Java之如何獲取泛型參數(shù)

    Java之如何獲取泛型參數(shù)

    在Java開發(fā)中,獲取泛型參數(shù)一般有兩種方法:第一種是通過JDK自帶的API,主要利用反射機制來獲取類的泛型信息;第二種方法是借助Spring框架提供的GenericTypeResolver工具類,這種方式更加簡便,這兩種方法都能有效地幫助開發(fā)者在運行時獲取到泛型參數(shù)
    2024-09-09
  • SpringBoot程序打包失敗(.jar中沒有主清單屬性)

    SpringBoot程序打包失敗(.jar中沒有主清單屬性)

    在學(xué)習(xí)SpringBoot,打包SpringBoot程序后,在cmd運行出現(xiàn)了 某某某.jar中沒有注清單屬性,本文就來介紹一下原因以及解決方法,感興趣的可以了解一下
    2023-06-06
  • Java實現(xiàn)簡單圖形界面計算器

    Java實現(xiàn)簡單圖形界面計算器

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單圖形界面計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java中HashMap集合的常用方法詳解

    Java中HashMap集合的常用方法詳解

    本篇文章給大家?guī)淼膬?nèi)容是關(guān)于Java中HashMap集合的常用方法詳解,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。下面我們就來學(xué)習(xí)一下吧
    2021-11-11
  • Java定時器通信協(xié)議管理模塊Timer詳解

    Java定時器通信協(xié)議管理模塊Timer詳解

    這篇文章主要介紹了Java定時器通信協(xié)議管理模塊Timer,?Timer一般指定時器(通信協(xié)議管理模塊)人類最早使用的定時工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計時工具來改進定時器,達到準確控制時間的目的
    2022-08-08
  • 如何利用Java輸出鏈表中倒數(shù)第k個結(jié)點

    如何利用Java輸出鏈表中倒數(shù)第k個結(jié)點

    這篇文章主要給大家介紹了關(guān)于如何利用Java輸出鏈表中倒數(shù)第k個結(jié)點的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-12-12
  • Java CharacterEncodingFilter過濾器的理解和配置案例詳解

    Java CharacterEncodingFilter過濾器的理解和配置案例詳解

    這篇文章主要介紹了Java CharacterEncodingFilter過濾器的理解和配置案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論

内乡县| 宜阳县| 望江县| 湘西| 宜丰县| 铁岭县| 儋州市| 烟台市| 兴义市| 武宁县| 昌黎县| 罗甸县| 盘锦市| 观塘区| 班玛县| 贵南县| 曲松县| 万荣县| 论坛| 华安县| 仲巴县| 枣强县| 浪卡子县| 河西区| 宽城| 禹州市| 临沭县| 揭东县| 应城市| 大宁县| 三门峡市| 岗巴县| 海城市| 鹤山市| 鄂伦春自治旗| 南丹县| 高青县| 昆明市| 灌阳县| 彰化市| 唐山市|