Novidades do .NET 9: gerando schemas JSON com JsonSchemaExporter
Outra melhoria relacionada à serialização JSON no .NET 9 envolve um novo tipo: JsonSchemaExporter, uma opção que permite gerar uma string JSON descrevendo a estrutura de uma classe/tipo implementado na plataforma .NET. Trata-se de uma alternativa útil tanto na geração de documentações, quanto para o trabalho com ferramentas de Inteligência Artificial que dependam de schemas representando conjuntos de dados (caso do OpenAI).
Já abordei também novidades sobre a serialização JSON e outras melhorias sobre .NET 9/C# 13 em vários artigos neste blog, que foram agrupados em um guia gratuito:
.NET 9 - Guia de Referência: artigos, dicas, vídeos e exemplos de utilização
Partindo de uma estrutura composta formada pela classe TorneioEsportivo, que depende do tipo Edicao:
Através de uma chamada ao método GetJsonSchemaAsNode de JsonSchemaExporter (linha 14):
Será produzida como retorno a seguinte string JSON:
{
"type": [
"object",
"null"
],
"properties": {
"Nome": {
"type": [
"string",
"null"
]
},
"UltimasEdicoes": {
"type": "array",
"items": {
"type": [
"object",
"null"
],
"properties": {
"Ano": {
"type": "integer"
},
"PaisSede": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
}
},
"EquipeVencedora": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
Na imagem a seguir temos o resultado da execução desta aplicação de testes:
Este projeto já foi disponibilizado no GitHub:
https://github.com/renatogroffe/DotNet9-ConsoleApp-JsonSchemaExporter
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!