日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON.NET 5中的架构变更

發布時間:2023/12/15 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON.NET 5中的架构变更 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Newtonsoft對JSON.NET進行了兩個架構升級,以使其能夠更容易地在涉及第三方庫的項目中使用。這兩個特性是默認設置和擴展數據。

\u0026#xD;\n

在JSON.NET 5r5中,開發者可以使用JsonSerializerSettings類重寫序列化/反序列化選項。每次調用JsonConvert方法的時候通常都會將它作為參數傳入,或者用它創建新的JsonSerializer。

\u0026#xD;\n

如果類庫想要使用新的默認模式,那么可以使用JsonSerializer.CreateDefault方法。這樣便會使用應用通過JsonConvert.DefaultSettings方法定義的默認項。如果類庫不想使用此行為,那么可以繼續正常地創建JsonSerializer的實例。

\u0026#xD;\n

應該注意的是,JsonConvert.DefaultSettings方法的參數是一個Func\u0026lt;JsonSerializerSettings\u0026gt;而不是JsonSerializerSettings的實例。這意味著每次需要的時候都將創建默認JsonSerializerSettings的一個新副本。

\u0026#xD;\n

另一個變化是對擴展數據的支持。這些數據在原生JSON有效負荷中有效,但不會在類結構中出現。一般來說,這會在服務器定義發生改變而客戶端尚未升級到匹配版本時發生。

\u0026#xD;\n

在WCF中,可以通過IExtensibleDataObject接口獲取擴展數據。它為ExtensionDataObject類型提供了一個單獨的屬性,一個幾乎沒有什么作用的不透明類。ExtensionDataObject包含的任何數據只對數據協定序列化器有效。這意味著,它只在極其特殊的情況下才會發揮作用,例如我們將一些數據序列化,使用舊版本的代碼將其反序列化,重新序列化,接下來再次使用原始版本反序列化的情況。

\u0026#xD;\n

JSON.Net將擴展數據以字串和JToken對象字典的形式暴露。該字典通過使用 [JsonExtensionData]屬性標記的屬性或域對外暴露。通過使用屬性而不是接口,開發者可以將域標記為私有以維持封裝。

\u0026#xD;\n

查看英文原文:Architectural Changes in JSON.NET 5

\u0026#xD;\n

感謝孫鏡濤對本文的審校。

\u0026#xD;\n

給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ)或者騰訊微博(@InfoQ)關注我們,并與我們的編輯和其他讀者朋友交流。

總結

以上是生活随笔為你收集整理的JSON.NET 5中的架构变更的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。