Novidades do .NET 9: melhorias na serialização JSON com IndentCharacter e IndentSize

Renato Groffe
2 min readMar 16, 2024

--

Em um artigo anterior neste blog já apresentei uma das novidades previstas para o .NET 9 e que está relacionada à serialização de dados no formato JSON:

Novidades do .NET 9: serialização utilizando JsonSerializerOptions.Web (no padrão do ASP.NET Core)

Neste novo artigo retomo esse tema, abordando agora o uso das novas propriedades IndentCharacter e IndentSize: estas são novas opções para definir o formato empregado na serialização a partir do tipo JsonSerializerOptions (namespace System.Text.Json).

Caso também queira ficar por dentro de outras novidades do .NET 9, deixo aqui os links de 2 outros artigos recentes que publiquei sobre esta nova versão da plataforma .NET:

Novidades do .NET 9: melhorias em criptografia com CryptographicOperations.HashData()

.NET 9: primeiros testes com o Preview 1 + método CountBy em LINQ

No Canal .NET temos ainda um primeiro vídeo sobre serialização JSON no .NET 9 (incluindo o exemplo demonstrado neste artigo), o qual pode ser assistido gratuitamente no YouTube:

Em um segundo vídeo gratuito discutimos as novidades em criptografia para o .NET 9 anunciadas até o momento da publicação deste artigo:

Tomando como base a classe Localidade:

Ao criar uma instância de JsonSerializerOptions podemos informar:

  • O caracter empregado para indentação na propriedade IndentCharacter, que será espaço ou Tab (‘/t’);
  • Quantas vezes tal caracter deverá ser empregado em indentações, através da utilização da propriedade IndentSize.

É o que demonstra a listagem seguinte:

Ao executar essa aplicação por meio do Visual Studio 2022 teremos como resultado:

Clique nesta imagem para visualizar com uma melhor resolução

Esse exemplo está disponível no GitHub:

https://github.com/renatogroffe/DotNet9-ConsoleApp-IndentationOptions

Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker