我們在進行開發的過程的難免會進行物件的返回,比如乙個使用者物件user,以及乙個集合list,map等等。在這篇部落格中我們就是需要學習一下怎麼對乙個物件中某些屬性的處理。需要補充的一點就是springboot採用的是jackson進行的序列化以及反序列化,不用我們自己去進行實現,它是自動實現。我們也可以改變它實現的方式或者說我們可以自己去定義序列化和反序列化。當然,因為springboot幫我們做的已是相當好的了,所以基本不用我們自己去進行處理。如果在開發過程中遇到特殊的需求可以自己進行一系列處理。這相對於我們使用ssm開發專案來說就避免了jar包的匯入以及設定。
在這個類裡面只有最基礎的屬性:姓名,密碼,生日,描述。
我們統一對類上的一些類註解,屬性註解進行解釋以及描述。
資料隱藏:
我們在進行資料返回的時候肯定是有些屬性不希望前端可以獲取到,或者是某些資料為空的時候前端要求不必進行回傳,那麼這時候我們就可以進行屬性的隱藏。
@jsonignore:使用在某個屬性上,這樣在序列化和反序列化的時候都會忽略這個屬性,最直接的效果就是返回的json屬性是沒有這個屬性的,一般作用於密碼這系列的屬性。
@jsoninclude:使用在某個屬性上,配合它的屬性value=jsoninclude.include.non_null,表示的是如果這個屬性的屬性值為空那麼在返回前端的時候不可見。
@jsonproperty:使用在某個屬性上,這個註解有兩個作用,第一是修改返回json資料的時候key值為value指定值,第二個作用是配合屬性access=jsonproperty.access.write_only表示屬性只可以進行 序列化而不能進行反序列化,直觀效果就是返回的資料沒有該屬性。
@jsonignoreproperties:作用在類宣告處,它和@jsonignore註解的區別就是可以對多個屬性作用,直接在value屬性後面使用大括號逗號隔開即可,它的ignoreunknow屬性為true表示忽略未定義的屬性。
日期:我們直接使用日期出來的格式必然不是我們想要的,那麼我們可以使用註解:@jsonformat配合上屬性pattern標誌事件格式,timezone是時區,local是區域。在這裡必須強調的是這是把日期格式化為 string,一般應用在後台向前端傳遞資料,如果是前端的string格式需要解析為日期格式我們可以使用@datetimeformat即可。
排序:有時候為了規範好看我們也需要讓屬性按照一定順序進行排列,這時候我們就使用@jsonpropertyorder這個註解,它的屬性alphabetic預設值是false,我們設定為true即可。
大概的json資料處理使用到的註解基本上也就這些了,當然其他功能更強大的註解大家有興趣可以在下去自己學習,檢視乙個註解的使用方法和效果最好的辦法就是寫demo
字串處理 字串反轉
請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...
字串處理
uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...
字串處理
byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array system.text.e...