Swifter.Json .NETプラットフォームは、はるかにJSONシリアライズライブラリの最高のパフォーマンス[オープンソース]可能性があり

JSONについて
JSON(JavaScript Object Notation)は軽量のデータ交換フォーマットです。その上アリお父さんのfastjson(ジャワ)、テンセントrapidjson(C ++)と:それは現在最も人気のあるデータ交換形式であるため、また、主要な戦場オープンソースのような貢献者、です。Swifter.JsonネットJSONの構文解析ライブラリは完璧ではない前に、しかし、.NETは、メーカーによって支持されていません。
 
 
Swifter.Jsonプロフィール
.NETプラットフォーム上Swifter.Jsonは、強力で使いやすく、安定して高性能なJSONシリアライズとデシリアライズツールです。
:オープンソース、Githubにされていますhttps://github.com/Dogwei/Swifter.Json
 
場所の電源Swifter.Json
1:すべての.NETオブジェクト構造が環状構造の深さは、参照属性のタイプを含む、知られています。
2:ほぼすべての一般的なデータ型をサポートし、マルチプログラムが簡単にフォローアップが増加し続ける、直列化の動作定義型をカスタマイズします。
3:サポートJSON後退、値0はヌル値「無視される」{「:「$文献#/ターゲット」}値等の使用を支持する」支持体の最大深さを設定するために、反復参照、又は円形の基準配列へのようなヌルを表します。
4:サポートネットコア2.0 +、ネットフレームワーク2.0 +、ネット規格2.0 +、Xamarin、統一、モノプラットフォーム。。。
5:Swifter.JsonほとんどないBUG、それはあなたがあれば、その安定性を確保するために、より多くのオンライン操作中のプロジェクト、そして私たち自身のユニットテストとNewtonsoft.JsonとSpanjsonユニットテストのすべてのリリース後を持っているので、問題を抱えて、あなたはGitHubの上の問題を公開することができ、私たちはあなたを助けるために全力を尽くします。
6:完全かつ包括的なAPI中国の文書、タイプのそれぞれは、開示された方法は、中国の指示でなく、GitHubの上のWikiドキュメント(現在主にメンテナンスのマニュアルを)持っています。
 
なぜホイールを繰り返して作成?
現在、.NETプラットフォーム上でのJSONライブラリは、いくつかの重大な欠点があります:いくつかの使い方は簡単ですが、パフォーマンスは高くない、高パフォーマンスの低い数が安定しない、安定した性能と複雑すぎるがあります。
我々は緊急に強い、安定した、高性能で使いやすいJSONシリアライズツールが必要です!
だから、Swifter.Jsonが出ました。
 
Swifter.Jsonライブラリリファレンス
Swifter.Core:これは、それに基づいたライブラリ開発者のための重要な助け、Swifter.Jsonを提供できるツールキットです。これは、効率的なデータが読み込まれず、APIを記述し、効率的な数学的アルゴリズムと.NET CLRはデータの情報を、およびプラットフォームのバージョン間の矛盾を解決するために、後者は、すでに十分に開発された(私たちはSwifter.MessagePackを開発し、このライブラリーに基づいて行われます提供します)に公開されます。300〜400キロバイトの間にこのライブラリは、(各プラットフォームの違いがあります)。
Swifter.Unsafeは:、それはSwifter.Unsafeと呼ばれていますが提供System.Runtime.ComplierServices.Unsafe、この大規模なライブラリ寛大な5キロバイトに似た同じ機能を提供しますので、これは、ILコードで書かれたライブラリです。
Swifter.Json:Swifter.Jsonは、IValueReaderを達成IValueWriter即ち実現実行順序及び任意のオブジェクトをデシリアライズ、JsonFormatter、でメインコードJsonSerializer(IValueWriterを導入)とJsonDeserializer(IValueReaderを実装)は今、API過負荷を提供これは、非同期APIを完全にサポートしています。このライブラリは、86キロバイト程度です。
 
Swifter.Json性能
3.0プレビュー7の.NETコアテスト結果
あるものの比べNewtonsoft.Jsonは、約5〜10倍に増加し、多くのJSONライブラリは、高性能として知られているが、実際には、私はSwifter.JsonのみSpanjson除いて認められたが、それはあまりにも明らかな欠点だが、唯一の.Netコアをサポートしています2.1+そして、良好な安定性。あなたがSwifter.Jsonを使用したくない場合は、私はあなたがNewtonsoft.Jsonを使用することを示唆している、すべての後に、それはすべてのパフォーマンス上の利点に加えています。
小さな配分:密接に関連する1つの特性もあります。定義により、例えば、メモリサイズを割り当てられている:プログラムがプロセスに大きなアレイを作成するための最もJSONツールが繰り返されるので、このプロセスは時間がかかり、消費され、なぜなら配列の長さは不明である、アレイのデシリアライゼーションオペレーションを実行したとき資源。Swifter.Jsonプール技術は完全にこの問題を解決するために使用されてきました。Spanjsonも解消CoreでArrayPoolプールを使用するので、私はSpanjsonに小さな星を命じました。
 
使用するのは簡単
 
 
Githubの上のより多くの使用およびドキュメントのWikiを参照してください。
 
最後に、我々は、既存のライブラリJSONの評価のためのシンプルな.NETプラットフォームを添付します
 
 
読んでくれてありがとう!

おすすめ

転載: www.cnblogs.com/Dogwei/p/11444426.html