يعتمد Yanlib على .NET 6.0 (LTS).
https://www.nuget.org/packages/tynab.yanlib
PM> NuGetInstall-Package Tynab.YANLib
انظر ويكي لمزيد من التفاصيل
System.Text.json هي مكتبة JSON افتراضية متكاملة في .NET Core و .NET Standard من الإصدار 3.0 فصاعدًا. يتم استخدامه لتحويل كائنات .NET إلى تنسيق JSON والعكس بالعكس ، ودعم تحليلية وتوليد سلاسل JSON.
في السابق ، في .NET Framework ، كانت Newtonsoft.json مكتبة JSON شهيرة تستخدم في تطبيقات .NET. ومع ذلك ، مع إدخال System.text.json ، تحولت .NET Core إلى استخدام هذه المكتبة كخيار افتراضي.
تم تصميم System.text.json لتوفير أداء أفضل وأمان مقارنة بمكتبات JSON الأخرى. يدعم ميزات متقدمة مثل التحليل المتوازي ودعم أنواع البيانات الجديدة مثل SPAN و UTF8JSONREADER ، مما يتيح معالجة البيانات بشكل أسرع وتقليل استخدام الذاكرة.
فيما يتعلق بالأداء ، فإن System.text.json و Newtonsoft.json و Volo.json كلها مكتبات JSON قوية في .NET ، ولكن يمكن أن يختلف أدائها اعتمادًا على حالات الاستخدام المحددة.
ومع ذلك ، استنادًا إلى اختبارات الأداء القياسية التي أجريت في بيئات وسيناريوهات مختلفة ، يعتبر System.text.json عمومًا أفضل أداء بين هذه المكتبات. على سبيل المثال ، وفقًا لاختبارات الأداء ، تُظهر النتائج أن System.text.json لديه كائن JSON-to -.net و Office Attolons و Vice مقارنةً بـ Newtonsoft.json ، وخاصة في الحالات ذات البيانات الكبيرة.

ومع ذلك ، فإن Volo.json هي أيضًا مكتبة JSON سريعة وخفيفة الوزن مصممة لتحسين الأداء والموثوقية. إنه مبني على أنواع البيانات الأساسية الجديدة .NET مثل SPAN و UTF8JSONREADER و UTF8JSONWRITER ، والتي تتيح معالجة البيانات بشكل أسرع وتقليل استخدام الذاكرة. في بعض الحالات ، يمكن لـ Volo.json توفير أداء أفضل من System.text.json و Newtonsoft.json.
حساسية الحالة عند استخدام system.text.json deserialize/serialize:
عندما يكون لخصائص الكائن المسلسل إلى JSON رسملة مختلفة ، يمكن أن تحدث استثناءات عند استخدام مكتبات JSON.
لمعالجة هذه المشكلة ، يمكننا استخدام الخصائص الاختيارية لمكتبات JSON لتخصيص تسمية العقار في JSON حسب الرغبة.
فيما يلي بعض الخيارات لتكوين الأداء عند استخدام jsonserializeroptions:
ملحوظة:
https://yanlib.yamiannephilim.com/api/json/yan-vs-standards؟quantity=10000&hidesystem=true

var dto = json . Deserialize < JsonDto > ( ) ;