CodexBloom - Programming Q&A Platform

C# - Performance implementing Large JSON Deserialization Using System.Text.Json

👀 Views: 97 đŸ’Ŧ Answers: 1 📅 Created: 2025-06-22
c# .net json performance C#

I'm attempting to set up I'm reviewing some code and I've been banging my head against this for hours... After trying multiple solutions online, I still can't figure this out. I'm working with important performance optimization when deserializing large JSON files (around 50MB) using `System.Text.Json` in .NET 6. While the deserialization works correctly, it takes an excessive amount of time, causing the application to freeze temporarily during the operation. I tried using `JsonSerializer.DeserializeAsync`, but the performance is still poor compared to using `Newtonsoft.Json`. Here's a simplified version of my code: ```csharp public async Task<MyObject> DeserializeJsonFileAsync(string filePath) { using FileStream stream = File.OpenRead(filePath); return await JsonSerializer.DeserializeAsync<MyObject>(stream); } ``` I've also experimented with stream options and tried to enable `JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase`, but it doesn't seem to affect performance. My `MyObject` class has quite a few properties, and I'm worried that the structure might be causing some overhead. Should I consider a different approach, or are there specific optimizations I could apply to improve the deserialization performance? Any advice would be greatly appreciated! I'm working on a application that needs to handle this. This is happening in both development and production on Windows 11. I appreciate any insights! I'm using C# latest in this project. Any help would be greatly appreciated!