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

.NET?6新特性試用之System.Text.Json功能改進

 更新時間:2022年03月15日 10:54:04   作者:My?IO  
這篇文章主要介紹了.NET?6新特性試用之System.Text.Json功能改進,

前言:

??System.Text.Json??作為.NET默認的JSON序列化和反序列化類庫,讓我們看看,在.NET 6中有哪些功能上的改進?

Demo

?1.屬性排序?

在屬性上聲明??JsonPropertyOrderAttribute??來控制屬性序列化的順序,而以前,順序是由反射順序決定的,是不確定的。

示例代碼如下:

public class User
{
? ? public int Age { get; set; }

? ? [JsonPropertyOrder(1)]
? ? public string Name { get; set; }
?
? ? [JsonPropertyOrder(-1)]
? ? public int Id { get; set; }
}

排序值較小的數(shù)字首先被序列化;沒有聲明屬性的默認排序值為0:

{
? "Id": 1,
? "Age": 20,
? "Name": "My IO"
}

?2.序列化通知?

??System.Text.Json??新增了4個接口:

  • IJsonOnDeserialized
  • IJsonOnDeserializing
  • IJsonOnSerialized
  • IJsonOnSerializing

從名字上也可以看出它們的作用,即在序列化/反序列化前后被調用。

示例代碼如下:

public class User : ?IJsonOnSerialized, IJsonOnDeserialized
{
? ? public void OnDeserialized() => this.Validate(); // 反序列化后調用
? ? public void OnSerializing() => this.Validate(); // 序列化前調用

? ? private void Validate()
? ? {
? ? ? ? if (this.Age <= 0)
? ? ? ? ? ? throw new ArgumentException();
? ? }
}

結論:

  • ?“屬性排序”功能有點雞肋,目前還沒碰到過需要指定排序的應用場景。?
  • ?“序列化通知”功能對于設置默認值和驗證屬性值合法性非常有用。?

到此這篇關于.NET 6新特性試用之System.Text.Json功能改進的文章就介紹到這了,更多相關 System.Text.Json功能改進內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

镇宁| 淮安市| 宁蒗| 兴文县| 义马市| 博湖县| 交口县| 洛南县| 鄄城县| 金塔县| 宁武县| 柳江县| 商水县| 遂川县| 泽普县| 花垣县| 江山市| 自治县| 洛浦县| 海兴县| 丽水市| 察雅县| 红原县| 崇州市| 沽源县| 潢川县| 和龙市| 亚东县| 夹江县| 苍梧县| 新平| 宁乡县| 昌吉市| 西充县| 鄂尔多斯市| 澄迈县| 临湘市| 清远市| 西盟| 板桥市| 徐州市|