Yanlib ขึ้นอยู่กับ. NET 6.0 (LTS)
https://www.nuget.org/packages/tynab.yanlib
PM> NuGetInstall-Package Tynab.YANLib
ดู Wiki สำหรับรายละเอียดเพิ่มเติม
System.Text.json เป็นไลบรารี JSON เริ่มต้นที่รวมอยู่ใน. NET Core และ. NET มาตรฐานจากเวอร์ชัน 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 ที่เร็วขึ้นอย่างมากและเวลาในการแปลงในทางกลับกันเมื่อเทียบกับ newtonsoft.json โดยเฉพาะอย่างยิ่งในกรณีที่มีข้อมูลขนาดใหญ่

อย่างไรก็ตาม Volo.json ยังเป็นไลบรารี JSON ที่รวดเร็วและมีน้ำหนักเบาที่ออกแบบมาเพื่อเพิ่มประสิทธิภาพและความน่าเชื่อถือ มันถูกสร้างขึ้นบนชนิดข้อมูล. NET Core ใหม่เช่น 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 > ( ) ;