
การซีเรียลไลซ์ JSON
System.Text.Json, JsonSerializer, custom converters, naming policies, การจัดการ null
1namespace หลักสำหรับการซีเรียลไลซ์ JSON ใน .NET สมัยใหม่คืออะไร?
namespace หลักสำหรับการซีเรียลไลซ์ JSON ใน .NET สมัยใหม่คืออะไร?
คำตอบ
System.Text.Json คือ namespace อย่างเป็นทางการสำหรับการซีเรียลไลซ์ JSON ใน .NET Core 3.0+ ซึ่งค่อยๆ เข้ามาแทนที่ Newtonsoft.Json (Json.NET) เนื่องจากมีประสิทธิภาพสูงกว่า รวมอยู่ในเฟรมเวิร์ก และปรับให้เหมาะกับสถานการณ์สมัยใหม่ Newtonsoft.Json ยังคงใช้ได้ผ่าน NuGet สำหรับความเข้ากันได้ย้อนหลังหรือฟีเจอร์ขั้นสูงที่ไม่มีใน System.Text.Json
2ใช้เมธอดใดในการซีเรียลไลซ์อ็อบเจกต์ C# เป็นสตริง JSON?
ใช้เมธอดใดในการซีเรียลไลซ์อ็อบเจกต์ C# เป็นสตริง JSON?
คำตอบ
JsonSerializer.Serialize แปลงอ็อบเจกต์ C# เป็นสตริง JSON เมธอดสแตติกนี้รับอ็อบเจกต์ที่จะซีเรียลไลซ์และ JsonSerializerOptions (ทางเลือก) เพื่อปรับแต่งพฤติกรรม Serialize คืนค่า string ขณะที่ SerializeToUtf8Bytes คืนค่า byte[] เพื่อเพิ่มประสิทธิภาพโดยหลีกเลี่ยงการจัดสรร string
3ข้อตกลงการตั้งชื่อเริ่มต้นของ System.Text.Json สำหรับพร็อพเพอร์ตี JSON คืออะไร?
ข้อตกลงการตั้งชื่อเริ่มต้นของ System.Text.Json สำหรับพร็อพเพอร์ตี JSON คืออะไร?
คำตอบ
โดยค่าเริ่มต้น System.Text.Json จะคงชื่อพร็อพเพอร์ตี C# ไว้ทุกประการ (PascalCase ที่แยกแยะตัวพิมพ์ใหญ่เล็ก) หากพร็อพเพอร์ตี C# ชื่อ UserName JSON จะมี UserName หากต้องการ camelCase (userName) ต้องตั้งค่า JsonSerializerOptions ด้วย PropertyNamingPolicy = JsonNamingPolicy.CamelCase ซึ่งต่างจาก Newtonsoft.Json ที่ใช้ camelCase โดยค่าเริ่มต้น
จะดีซีเรียลไลซ์สตริง JSON เป็นอ็อบเจกต์ C# ที่มีชนิดได้อย่างไร?
ใช้แอตทริบิวต์ใดในการละเว้นพร็อพเพอร์ตีระหว่างการซีเรียลไลซ์ JSON?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี