Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

JSON Çıktısı Biçimlendirme - Spectre Console Serisi

Tim Corey
7m 01s

Spectre Console, zengin, renkli konsol uygulamaları oluşturmanıza imkân tanıyan bir .NET kütüphanesidir. Düz metin çıktısı yerine, Spectre'nin panellerini, tablolarını ve hatta JSON biçimlendirmesini verileri güzel bir şekilde sunmak için kullanabilirsiniz.

Bu makalede, Tim Corey'nin "JSON Çıktısını Biçimlendirme – Spectre Console Serisi" videosunda gösterildiği gibi Spectre Console JSON'u detaylı bir şekilde inceleyeceğiz. Kodunu, NuGet paketi kurulumlarını ve stil tavsiyelerini adım adım inceleyeceğiz. Konsol uygulamalarınıza açık sentaks vurgusu ve okunması kolay düzenler ile "JSON süper güçleri" kazandırmanın nasıl yapıldığını göreceksiniz. Başlıklardaki tüm zaman işaretleri Tim'in videosuna karşılık gelir, böylece onu takip edebilirsiniz.

Başlarken: Spectre Console JSON'un Ne Olduğu

0:00'da, Tim, Spectre Console'u görsel olarak çekici konsol uygulamaları oluşturmak için bir .NET kütüphanesi olarak tanıtır. Bu derste bir API'den JSON verilerini alıp Spectre Console JSON kullanarak göstereceğini açıklar. Bu, ham JSON dizinizin, Spectre'nin işleyebileceği zengin bir nesneye dönüştürülebileceği anlamına gelir.

Kaynak kodu ve proje web sitesi bağlantısının açıklamada yer aldığını, böylece projeyi kendiniz indirip deneyebileceğinizi belirtir.

Yardımcı Bir İşlevle JSON Verilerini Alma

0:35'te, Tim yardım kodunu gösterir. Projesinde, FetchApiDataAsync adlı bir işlev bulunan Helpers sınıfı vardır. Bu işlev bir URL'ye istek gönderir, JSON'u geri alır ve yanıtı bir dize olarak döndürür.

AnsiConsole.WriteLine(jsonResponse) kullanarak JSON'u konsola yazabileceğinizi belirtir. Ancak, 1:26'da gösterdiği gibi, bu ham çıktı sadece yoğun bir metin yığınıdır ve insanlar için okumak veya bununla çalışmak için uygun değildir.

Spectre Console JSON Paketini Kurma

1:46'da, Tim JSON'u düzgün biçimlendirmek istediğini söyler. Ancak önce JSON genişletme paketine ihtiyaçı vardır. Projeye sağ tıklar, "NuGet Paketlerini Yönet" seçeneğini seçer ve Spectre.Console.Json'u yükler.

Ayrıca CLI kullanarak çalıştırabileceğinizi belirtir:

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

Bu, JSON oluşturma için resmi NuGet paketidir. Tim'in 2:14'te açıkladığı gibi, şu an için CLI ile değil, hem Spectre hem de Spectre.Console.Json paketlerini kullanarak bir AOT (önceden derlenmiş zaman) derlenmiş uygulama oluşturabilirsiniz.

Bir JsonText Örneği Oluşturma

2:31'de, Tim JSON dizinizi Spectre işlenebilir bir nesneye dönüştürmek için sözdizimini gösterir. Şöyle yazar:

using Spectre.Console.Json;

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

var json = new JsonText(jsonResponse);

Bu, dizinizden yeni bir JsonText örneği oluşturur. Artık tarzla Spectre'nin işleyebileceği bir nesneye sahipsiniz. Dizileri, null değerleri veya iç içe nesneleri kendiniz ayrıştırmanıza gerek yok; kütüphane bunu sizin için yapar.

Bir Panel İçinde JSON Oluşturma

3:00'da, Tim JSON'u konsola yazmayı gerçekten gösterir. Verileri çerçevelemek için Spectre'nin panel özelliğini kullanır:

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

3:39'da kodu çalıştırdığında JSON stilize edilmiş bir kutu içinde görünür. Anahtarlar mavi, sayılar ve boole ifadeleri yeşil, metin değerleri ise kırmızıdır. Hatta dizi verileri ve iç içe nesneler doğru şekilde gösterilir. Spectre uzun satırları otomatik olarak sarar, böylece girinti veya boşluğu kendiniz oluşturmanıza gerek kalmaz.

Spectre Console Formatting Json Output 1 related to Bir Panel İçinde JSON Oluşturma

3:59'da JSON'unuzdaki URL'lerin birçok terminalde tıklanabilir bağlantılar haline geldiğini de belirtir—konsol üzerinden JSON'u doğrudan okuyanlar için başka bir bonus.

Başlıklar, Kenarlıklar ve Stil Ekleme

4:09'da, Tim stile geçer. Bir başlık, aşırı boşluğu daraltmak ve kenarlık rengini değiştirmek için panel üzerine yöntemler zincirler:

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);

5:02'de bu derlemeyi çalıştırdığında, konsol "API Yanıtı" etiketli cilalı bir kutu gösterir, bu tam olarak bir web aracı veya IDE'de gördüğünüz gibi olur. Bu, API'nizden gelen bilgileri okumayı çok daha kolaylaştırır.

Spectre Console Formatting Json Output 2 related to Başlıklar, Kenarlıklar ve Stil Ekleme

JSON Renklerini Özelleştirme

5:14'te, Tim JSON parçalarının rengini bireysel olarak değiştirebileceğinizi gösterir. Her özelliği değiştirmez, sadece sentaksı göstermek için yeterli kadarını değiştirir:

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

5:52'de çalıştığında, metin değerleri sarı, iki nokta ise turuncu olur. Color.Red, Color.Green veya tanımlı herhangi bir Spectre rengini kullanabilirsiniz. Bu, kurumsal stilinizi uyumlu hale getirmenizi veya konsolunuzda belirli değerleri vurgulamanızı sağlar.

Spectre Console JSON Neden Önemlidir

6:04'te, Tim faydaları özetler. Spectre Console JSON ile şunları yapabilirsiniz:

  • Tek bir NuGet paketi yükleyin ve JSON biçimlendirme "süper güçlerini" edinin.

  • Düz bir JSON dizisini alıp otomatik olarak renklendirilmiş bir nesne olarak oluşturun.

  • Kendi biçimlendirme kodunuzu yazmadan diziler, iç içe koleksiyonlar, null değerleri ve büyük verilerle çalışın.

  • Panellere başlıklar, kenarlıklar ve özel renkler ekleyin.

  • Konsol uygulamalarınızı profesyonel ve kolay okunur tutun.

Girintiyi oluşturmanız, boşluğu ayarlamanız veya renkleri manuel olarak tanımlamanız gerekmiyor diye vurgular. Kütüphane bu işlemleri sizin için halleder.

Sonuç

6:38'de, Tim izleyicilere teşekkür ederek bitirir. Bir API'den JSON almayı, bunu bir JsonText nesnesine dönüştürmeyi ve özel renk ayarları ile stilize edilmiş bir panel içinde görüntülemeyi gösterdi.

Sadece bir ekstra NuGet paketi ve birkaç satır kodla, konsol uygulamanız "JSON süper güçleri" elde edebilir—verileriniz için güzel, okunabilir bir çıktı.

Daha derine dalmak isterseniz, Spectre Console proje web sitesini veya Tim'in kanalını daha ayrıntılı talimatlar için kontrol edebilirsiniz. Tim'in videosunda gösterdiği gibi, paketi yükleyip JsonText örneğinizi oluşturduktan sonra, tüm ağır işler yapılmış olur. Konsol uygulamanız, JSON bilgisini okumak, çalışmak ve paylaşmak için çok daha kullanışlı bir araç haline gelir.

Hero Worlddot related to JSON Çıktısı Biçimlendirme - Spectre Console Serisi
Hero Affiliate related to JSON Çıktısı Biçimlendirme - Spectre Console Serisi

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara