Ir para o conteúdo do rodapé
Iron Academy Logo
Aplicação C#
Aplicação C#

Outras categorias

Formatação da saída JSON - Série Spectre Console

Tim Corey
7m 01s

Spectre Console é uma biblioteca .NET que permite criar aplicativos de console ricos e coloridos. Em vez de exibir apenas texto, você pode usar os painéis, tabelas e até mesmo a formatação JSON do Spectre para apresentar os dados de forma elegante.

Neste artigo, vamos analisar detalhadamente o JSON do Spectre Console, conforme mostrado no vídeo de Tim Corey " Formatando a saída JSON – Série Spectre Console ". Vamos examinar o código dele, as instalações de pacotes NuGet e as dicas de formatação. Você verá como dar aos seus aplicativos de console "superpoderes JSON" com realce de sintaxe claro e layouts fáceis de ler. Todos os marcadores de tempo nos títulos correspondem ao vídeo do Tim, para que você possa acompanhar.

Introdução: O que é JSON do Spectre Console?

Às 0:00, Tim apresenta o Spectre Console como uma biblioteca .NET para criar aplicativos de console visualmente atraentes. Ele explica que nesta lição irá buscar dados JSON de uma API e exibi-los usando o JSON do Spectre Console. Isso significa que sua sequência de JSON bruto pode ser convertida em um objeto complexo que o Spectre pode renderizar.

Ele menciona que o código-fonte e o link para o site do projeto estão na descrição, para que você possa baixar o projeto por conta própria.

Obtendo dados JSON com uma função auxiliar

Às 0:35, Tim mostra o código auxiliar. Em seu projeto, ele possui uma classe Helpers com uma função chamada FetchApiDataAsync. Essa função envia uma solicitação para uma URL, recebe o JSON de volta e retorna a resposta como uma string.

Ele observa que você poderia simplesmente usar AnsiConsole.WriteLine(jsonResponse) para escrever o JSON no console. Mas, como ele demonstra em 1:26, esse resultado bruto é apenas uma coleção densa de texto — nada amigável para quem lê ou trabalha com ele.

Instalando o pacote JSON do console Spectre

À 1:46, Tim diz que quer formatar o JSON corretamente. Mas primeiro, ele precisa do pacote de extensão JSON. Ele clica com o botão direito do mouse no projeto, escolhe "Gerenciar pacotes NuGet " e instala o Spectre.Console.Json.

Ele destaca que você também pode usar a CLI e executar:

dotnet add package Spectre.Console.Json
dotnet add package Spectre.Console.Json

Este é o pacote NuGet oficial para renderização JSON. Como Tim explica em 2:14, você pode criar um aplicativo compilado AOT (antecipadamente) com os pacotes Spectre e Spectre.Console.Json, mas não com a CLI no momento.

Criando uma instância de JsonText

Aos 2:31, Tim mostra a sintaxe para transformar sua string JSON em um objeto renderizável do Spectre. Ele escreve:

using Spectre.Console.Json;

var json = new JsonText(jsonResponse);
using Spectre.Console.Json;

var json = new JsonText(jsonResponse);

Isso cria uma nova instância de JsonText a partir da sua string. Agora você tem um objeto que o Spectre pode renderizar com estilo. Você não precisa analisar arrays, valores nulos ou objetos aninhados manualmente — a biblioteca faz isso para você.

Renderizando JSON dentro de um painel

Às 3h, Tim demonstra como escrever o JSON no console. Ele utiliza o recurso de painel do Spectre para enquadrar os dados:

AnsiConsole.Write(
    new Panel(json)
);
AnsiConsole.Write(
    new Panel(json)
);

Às 3h39, quando ele executa o código, o JSON aparece em uma caixa estilizada. As teclas são azuis, os números e valores booleanos são verdes e os valores de texto são vermelhos. Até mesmo dados em formato de matriz e objetos aninhados são exibidos corretamente. O Spectre quebra automaticamente as linhas longas, então você não precisa criar o recuo ou o espaçamento manualmente.

Spectre Console Formatting Json Output 1 related to Renderizando JSON dentro de um painel

Ele também observa, aos 3:59, que URLs dentro do seu JSON se tornam links clicáveis ​​em muitos terminais — outra vantagem para quem lê JSON diretamente do console.

Adicionando cabeçalhos, bordas e estilos

Às 4:09, Tim passa para a parte de estilização. Ele encadeia métodos no painel para definir um cabeçalho, recolher o espaço em excesso e alterar a cor da borda:

var panel = new Panel(json)
    .Header("API Response")
    .Collapse()
    .BorderColor(Color.White);

AnsiConsole.Write(panel);
var panel = new Panel(json)
    .Header("API Response")
    .Collapse()
    .BorderColor(Color.White);

AnsiConsole.Write(panel);

Às 5h02, quando ele executa essa compilação, o console exibe uma caixa bem formatada com o rótulo "Resposta da API", exatamente como você veria em uma ferramenta web ou IDE. Isso facilita muito a leitura das informações da sua API.

Spectre Console Formatting Json Output 2 related to Adicionando cabeçalhos, bordas e estilos

Personalizando as cores do JSON

Às 5h14, Tim mostra que você pode alterar a cor de partes do JSON individualmente. Ele não altera todas as propriedades, apenas o suficiente para demonstrar a sintaxe:

json.StringColor = Color.Yellow;
json.ColonColor = Color.Orange;
json.StringColor = Color.Yellow;
json.ColonColor = Color.Orange;

Às 5h52, quando ele executa o programa, os valores do texto estão em amarelo e os dois pontos em laranja. Você pode usar Color.Red, Color.Green ou qualquer outra cor definida no Spectre. Isso permite que você combine o estilo da sua empresa ou destaque valores específicos no seu console.

Por que o JSON do console Spectre é importante

Às 6h04, Tim resume os benefícios. Com o JSON do Spectre Console, você pode:

Instale um único pacote NuGet e obtenha "superpoderes" de formatação JSON.

  • Pegue uma string JSON simples e renderize-a automaticamente como um objeto colorido.

  • Trabalhe com arrays, coleções aninhadas, valores nulos e grandes conjuntos de dados sem precisar escrever seu próprio código de formatação.

  • Adicione cabeçalhos, bordas e cores personalizadas aos painéis com facilidade.

  • Mantenha seus aplicativos de console com um aspecto profissional e de fácil leitura.

Ele enfatiza que você não precisa criar recuos, lidar com espaçamento ou definir cores manualmente. A biblioteca realiza essas operações para você.

Conclusão

Às 6h38, Tim encerra agradecendo aos telespectadores. Ele mostrou como obter JSON de uma API, convertê-lo em um objeto JsonText e exibi-lo dentro de um painel estilizado com configurações de cores personalizadas.

Com apenas um pacote NuGet adicional e algumas linhas de código, seu aplicativo de console pode ganhar "superpoderes JSON" — uma saída bonita e legível para seus dados.

Se você quiser se aprofundar no assunto, confira o site do projeto Spectre Console ou o canal do Tim para obter instruções mais detalhadas. Como Tim demonstra em seu vídeo , depois de instalar o pacote e criar sua instância de JsonText, todo o trabalho pesado está feito. Seu aplicativo de console se torna uma ferramenta muito mais útil para ler, trabalhar e compartilhar informações JSON.

Hero Worlddot related to Formatação da saída JSON - Série Spectre Console
Hero Affiliate related to Formatação da saída JSON - Série Spectre Console

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim