IRONSOFTWAREHOME

Formatowanie wyjścia JSON - seria Spectre Console

Formatowanie danych wyjściowych JSON — seria Spectre Console

Tim Corey

7m 01s

Spectre Console to biblioteka .NET, która pozwala tworzyć bogate, kolorowe aplikacje konsolowe. Zamiast zwykłego tekstu możesz użyć paneli, tabel, a nawet formatowania JSON w Spectre, aby pięknie zaprezentować dane.

W tym artykułe przyjrzymy się szczegółowo Spectre Console JSON, tak jak pokazano w filmie Tima Coreya "Formatting JSON Output – Spectre Console Series". Omówimy jego kod, instalacje pakietów NuGet oraz wskazówki dotyczące stylizacji. Zobaczysz, jak nadać swoim aplikacjom konsolowym "supermoce JSON" dzięki przejrzystemu podświetlaniu składni i czytelnym układom. Wszystkie oznaczenia czasowe w nagłówkach odpowiadają filmowi Tima, dzięki czemu można śledzić jego treść.

Pierwsze kroki: Czym jest Spectre Console JSON

O 0:00 Tim przedstawia Spectre Console jako bibliotekę .NET do tworzenia atrakcyjnych wizualnie aplikacji konsolowych. Wyjaśnia, że w tej lekcji zamierza pobrać dane JSON z interfejsu API i wyświetlić je za pomocą Spectre Console JSON. Oznacza to, że ciąg surowego JSON może zostać przekształcony w bogaty obiekt, który Spectre może wyrenderować.

Autor wspomina, że kod źródłowy i link do strony projektu znajdują się w opisie, dzięki czemu można samodzielnie pobrać projekt.

Pobieranie danych JSON za pomocą funkcji pomocniczej

W 0:35 Tim pokazuje kod pomocniczy. W swoim projekcie posiada klasę Helpers z funkcją o nazwie FetchApiDataAsync. Ta funkcja wysyła żądanie do adresu URL, pobiera dane JSON i zwraca odpowiedź w postaci ciągu znaków.

Zauważa, że można po prostu użyć AnsiConsole.WriteLine(jsonResponse), aby zapisać JSON w konsoli. Jednak, jak pokazuje w 1:26, ten surowy wynik to po prostu gęsty zbiór tekstu — nieprzyjazny dla osób, które go czytają lub z nim pracują.

Instalacja pakietu JSON Spectre Console

W 1:46 Tim mówi, że chce poprawnie sformatować JSON. Najpierw jednak potrzebuje pakietu rozszerzeń JSON. Kliknął prawym przyciskiem myszy na projekt, wybrał "Zarządzaj pakietami NuGet" i zainstalował Spectre.Console.Json.

Zwraca uwagę, że można również użyć CLI i uruchomić:

dotnet add package Spectre.Console.Json

Jest to oficjalny pakiet NuGet do renderowania JSON. Jak wyjaśnia Tim w 2:14, można stworzyć aplikację skompilowaną metodą AOT (ahead-of-time) zarówno przy użyciu pakietu Spectre, jak i pakietu Spectre.Console.Json, ale obecnie nie jest to możliwe przy użyciu CLI.

Tworzenie instancji JsonText

O 2:31 Tim pokazuje składnię służącą do przekształcenia ciągu JSON w obiekt renderowalny przez Spectre. Pisze:

using Spectre.Console.Json;

var json = new JsonText(jsonResponse);

Tworzy to nową instancję JsonText na podstawie podanego ciągu znaków. Teraz masz obiekt, który Spectre może renderować z klasą. Nie musisz samodzielnie analizować tablic, wartości null ani obiektów zagnieżdżonych — biblioteka zrobi to za Ciebie.

Renderowanie JSON wewnątrz panelu

O godz. 3:00 Tim pokazuje, jak faktycznie zapisać JSON w konsoli. Używa funkcji panelu Spectre do kadrowania danych:

AnsiConsole.Write(
    new Panel(json)
);

O 3:39, kiedy uruchamia kod, JSON pojawia się w stylizowanym polu. Klucze są niebieskie, liczby i wartości logiczne są zielone, a wartości tekstowe są czerwone. Nawet dane tablicowe i obiekty zagnieżdżone wyświetlają się poprawnie. Spectre automatycznie zawija długie linie, więc nie musisz samodzielnie tworzyć wcięć ani odstępów.

W 3:59 zauważa również, że adresy URL w pliku JSON stają się klikalnymi linkami w wielu terminalach — to kolejna zaleta dla osób czytających JSON bezpośrednio z konsoli.

Dodawanie nagłówków, obramowań i stylów

O 4:09 Tim przechodzi do kwestii stylizacji. Łączy metody na panelu, aby ustawić nagłówek, zwinąć nadmiarową przestrzeń i zmienić kolor obramowania:

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

AnsiConsole.Write(panel);

O 5:02, kiedy uruchamia tę kompilację, konsola wyświetla eleganckie okienko z napisem "API Response", dokładnie tak, jak można to zobaczyć w narzędziu internetowym lub środowisku IDE. Dzięki temu informacje z API są znacznie łatwiejsze do odczytania.

Dostosowywanie kolorów JSON

O 5:14 Tim pokazuje, że można indywidualnie zmieniać kolor poszczególnych części JSON. Nie zmienia on wszystkich właściwości, a jedynie tyle, ile potrzeba do zademonstrowania składni:

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

O 5:52, kiedy uruchamia program, wartości tekstowe są żółte, a dwukropki pomarańczowe. Możesz użyć koloru Color.Red, Color.Green lub dowolnego innego zdefiniowanego koloru Spectre. Pozwala to dopasować styl do wizerunku firmy lub podkreślić konkretne wartości w konsoli.

Dlaczego Spectre Console JSON ma znaczenie

O godz. 6:04 Tim podsumowuje zalety. Dzięki Spectre Console JSON możesz:

  • Zainstaluj jeden pakiet NuGet i zyskaj "supermoce" formatowania JSON.

  • Pobierz zwykły ciąg JSON i automatycznie renderuj go jako kolorowy obiekt.

  • Pracuj z tablicami, zagnieżdżonymi kolekcjami, wartościami null i dużymi zbiorami danych bez konieczności pisania własnego kodu formatującego.

  • Łatwo dodawaj nagłówki, obramowania i niestandardowe kolory do paneli.

  • Dbaj o profesjonalny wygląd i czytelność swoich aplikacji konsolowych.

Podkreśla, że nie trzeba ręcznie tworzyć wcięć, zajmować się odstępami ani definiować kolorów. Biblioteka wykonuje te operacje za Ciebie.

Wnioski

O 6:38 Tim kończy, dziękując widzom. Pokazał, jak pobrać JSON z API, przekonwertować go na obiekt JsonText i wyświetlić w stylizowanym panelu z niestandardowymi ustawieniami kolorów.

Wystarczy jeden dodatkowy pakiet NuGet i kilka linii kodu, aby Twoja aplikacja konsolowa zyskała "supermoce JSON" — piękny, czytelny wynik dla Twoich danych.

Jeśli chcesz zgłębić temat, odwiedź stronę projektu Spectre Console lub kanał Tima, aby uzyskać bardziej szczegółowe instrukcje. Jak pokazuje Tim w swoim filmie, po zainstalowaniu pakietu i utworzeniu instancji JsonText cała ciężka praca jest już za nami. Twoja aplikacja konsolowa staje się znacznie bardziej użytecznym narzędziem do odczytu, pracy i udostępniania informacji JSON.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta