IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

Newtonsoft Jsonpath (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 21 Nisan 2026

Eğer .NET'te JSON verileriyle çalıştıysanız, muhtemelen .NET için popüler bir yüksek performanslı JSON çerçevesi olan Newtonsoft.Json kütüphanesine aşinasınızdır. Bu eğitim, Yeni Başlayanlar ve orta düzey kullanıcıların bu güçlü kütüphaneyi etkin bir şekilde anlamalarına ve kullanmalarına yardımcı olmayı amaçlar ve sistem referansları, belgeleri ve ilgili sürüm güncellemelerine odaklanır.

Başlarken

Newtonsoft.Json kullanmaya başlamak için, ilk olarak bunu .NET projenize kurmanız gerekir. Bu, .NET paket yöneticisi olan NuGet aracılığıyla yapılabilir. NuGet Paket Yöneticisi Konsolu'nda şunu yazın:

PM > Install-Package Newtonsoft.Json

Başarılı bir kurulumdan sonra, kütüphaneyi .NET projenize eklemek için aşağıdaki using ifadesini ekleyin:

using Newtonsoft.Json;

Newtonsoft.JSON ile JSON Ayrıştırma

JSON ayrıştırma, JSON formatındaki bir dizeyi .NET uygulamanızda kullanılabilir bir veri yapısına dönüştürme işlemidir. Newtonsoft.Json ile süreç oldukça basittir.

Bir kişi için örnek bir JSON nesnesine bakalım:

{
    "Name": "Iron Developer",
    "Age": 30,
    "Email": "irondeveloper@ironsoftware.com"
}
JSON

Bu JSON dizisini, oluşturmak istediğimiz nesnenin türü olarak T belirttiğimiz JsonConvert.DeserializeObject<t>() yöntemi kullanarak bir C# nesnesine ayırabiliriz. Bu durumda, bir Person sınıfı oluşturacak ve JSON'u ona ayıracağız.

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Email { get; set; }
}

string jsonString = "JSON string here";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);

Şimdi, person nesnesi, JSON dizisinden gelen değerleri içerecek.

JSON Dosyalarıyla Çalışma

Çoğu zaman, bir dosyadan JSON verilerini okuma veya yazma gereği duyarız. Bunu, Newtonsoft.Json ile nasıl yapabileceğimize bakalım. Bu durumda System.IO isim alanından File sınıfını kullanacağız.

Bir JSON dosyasını okuyup, bir nesneye ayrıştırmak için:

string path = "path to your json file";
string jsonString = File.ReadAllText(path);
Person person = JsonConvert.DeserializeObject<Person>(jsonString);

Bir nesneyi bir JSON dosyasına yazmak için:

Person person = new Person() 
{
    Name = "John Doe",
    Age = 30,
    Email = "johndoe@example.com"
};

string path = "path to your json file";
string jsonString = JsonConvert.SerializeObject(person);
File.WriteAllText(path, jsonString);

Diziler ile Çalışma

Bazı durumlarda, JSON'unuz diziler içerebilir. Örneğin, bir Person nesnesi bir dizi Friends içerebilir:

{
    "Name": "John Doe",
    "Friends": [
        {
            "Name": "Jane Doe",
            "Age": 28
        },
        {
            "Name": "Billy",
            "Age": 25
        }
    ]
}
JSON

JSON dizisi üzerinde yineleme yapmak için foreach döngüsünü kullanabilirsiniz:

JArray friends = (JArray)jsonObject["Friends"];
foreach (JObject friend in friends)
{
    string friendName = (string)friend["Name"];
    Console.WriteLine(friendName);
}

Not: jsonObject, JSON'dan başlatılan bir actual JObject ile değiştirilmelidir.

JSON'u Modifiye Etme ve Yazma

Newtonsoft.Json ile JSON'u değiştirmek ve yazmak kolaydır. Diyelim ki Person nesnemizin Age değerini güncellemeniz gerekiyor.

jsonObject["Age"] = 31; // Update the age

Ve ardından bunu bir dize olarak geri yazmak:

string updatedJson = jsonObject.ToString();
File.WriteAllText(path, updatedJson); // Write back to the file

Not: jsonObject, JSON'dan başlatılan bir actual JObject ile değiştirilmelidir.

JSON için LINQ

Newtonsoft.Json ayrıca JSON nesnelerini sorgulamak ve manipüle etmek için LINQ (Dil Entegre Sorgusu) fonksiyonelliği sağlar. Bu oldukça güçlüdür çünkü standart LINQ operatörlerinin tümünü, XML veya bir nesne koleksiyonunda olduğu gibi, bir JSON nesnesini sorgulamak için kullanmanıza olanak tanır.

Tüm Friends 30 yaşından küçüklerin isimlerini getirmenin bir örneği:

var youngFriends = jsonObject["Friends"].Where(f => (int)f["Age"] < 30)
                                        .Select(f => (string)f["Name"]);
foreach (string name in youngFriends)
{
    Console.WriteLine(name);
}

Not: jsonObject, JSON'dan başlatılan bir actual JObject ile değiştirilmelidir.

IronPDF'ye Giriş

IronPDF hakkında bilgi edinin, .NET ekosisteminde geliştiricilerin PDF dosyalarını oluşturmasına, düzenlemesine ve veri çıkarmasına olanak tanıyan popüler bir kütüphanedir. Son derece çok yönlüdür ve Newtonsoft.Json dahil diğer kütüphanelerle sorunsuz çalışır.

IronPDF, HTML'den PDF'ye dönüşümde mükemmeldir, özgün düzenler ve stillerin hassas bir şekilde korunmasını sağlar. Raporlar, faturalar ve belgeler gibi web tabanlı içeriklerden PDF oluşturmak için mükemmeldir. HTML dosyaları, URL'ler ve ham HTML dizeleri için destekle, IronPDF yüksek kaliteli PDF belgelerini kolayca üretir.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

JSON verilerine sahip olduğumuz ve bu verilerden bir PDF raporu oluşturmak istediğimiz bir gereksinim olduğunu varsayalım. JSON verilerini ayrıştırmak için Newtonsoft.Json'u ve PDF oluşturmak için IronPDF'i kullanabiliriz. Bunu nasıl yapabileceğimizi görelim.

IronPDF Kurulumu

Newtonsoft.Json gibi, IronPDF de NuGet üzerinden kullanılabilir. Aşağıdaki komutu kullanarak yükleyebilirsiniz:

PM > Install-Package IronPdf

Sonra, projenize eklemek için şunu ekleyebilirsiniz:

using IronPdf;

Kullanım Durumu 1: JSON Verilerinden PDF Oluşturma

Bu kullanım durumunda, JSON verilerinden bir PDF raporu oluşturmak için Newtonsoft.Json ve IronPDF'in nasıl kullanılacağını göstereceğiz. Bu, JSON formatında saklanan verilere dayalı olarak dinamik raporlar oluşturan uygulamalar için özellikle yararlı olabilir.

İşleyeceğimiz örnek bir JSON dosyası burada:

{
    "Title": "Sales Report",
    "Month": "August",
    "Year": "2023",
    "TotalSales": "10000",
    "ItemsSold": "500"
}
JSON

Bu JSON verileri basit bir satış raporunu temsil eder.

İlk adım, burada 'data.json' adlı JSON dosyasını okuyup, Newtonsoft.Json kullanarak bir sözlüğe dönüştürmektir:

string jsonString = File.ReadAllText("data.json");
var reportData = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);

Bu kodu çalıştırdıktan sonra JSON dosyasındaki özellikleri ve değerlerini temsil eden anahtar-değer çiftlerini içeren reportData adında bir sözlük elde etmiş olacaksınız.

Sonraki adım, reportData verilerini kullanarak bir HTML şablonu oluşturuyoruz. reportData sözlüğünden alınan anahtarlar, HTML'ye uygun değerleri yerleştirmek için kullanılır:

string htmlContent = $@"
<html>
<head><title>{reportData["Title"]}</title></head>
<body>
    <h1>{reportData["Title"]}</h1>
    <p>Month: {reportData["Month"]}</p>
    <p>Year: {reportData["Year"]}</p>
    <p>Total Sales: {reportData["TotalSales"]}</p>
    <p>Items Sold: {reportData["ItemsSold"]}</p>
</body>
</html>";

Son olarak, HTLM kodunu bir PDF belgesine dönüştürmek için IronPDF kullanılır. Bir PDF renderlayıcı oluşturmak için ChromePdfRenderer kullanıyor, HTML'yi PDF'ye dönüştürüyor ve ardından PDF'yi kaydediyoruz:

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("Report.pdf");

Newtonsoft Jsonpath (Geliştiriciler İçin Nasıl Çalışır): Şekil 1

Kullanım Durumu 2: JSON'dan PDF Formuna

Bu kullanım durumunda, PDF belgesindeki form alanlarını doldurmak için JSON verilerini okuyacağız. Bu örnek için, aşağıdaki JSON verilerine sahip olduğumuzu varsayalım:

{
    "FirstName": "John",
    "LastName": "Smith",
    "PhoneNumber": "+19159969739",
    "Email": "John@email.com",
    "City": "Chicago"
}
JSON

Bu JSON, bir kişinin kişisel bilgisini temsil eder.

Öncelikle, dosyadaki JSON verilerini okumak ve bunları bir sözlüğe ayırmak için Newtonsoft.Json kullanıyoruz:

string jsonString = File.ReadAllText("data.json");
var person = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);

Bu yazılım, "FirstName", "LastName", "PhoneNumber", "Email" ve "City" anahtarlarına ve bunlara karşılık gelen değerlere sahip person adı verilen bir sözlük oluşturur.

Sonraki adımda, PDF belgesini IronPdf kullanarak açıyor ve formu alıyoruz:

var doc = PdfDocument.FromFile("myPdfForm.pdf");
var form = doc.Form;

Artık PDF belgesindeki form alanlarını doldurmak için person sözlüğünü kullanabiliriz:

form.Fields[0].Value = person["FirstName"];
form.Fields[1].Value = person["LastName"];
form.Fields[2].Value = person["PhoneNumber"];
form.Fields[3].Value = person["Email"];
form.Fields[4].Value = person["City"];

Her form alanı, kişinin sözlükten bir anahtar ile ilişkilendirilir.

Son olarak, doldurulmuş PDF formunu kaydederiz:

doc.SaveAs("myPdfForm_filled.pdf");

Bu yöntem, JSON dosyasındaki verilerle doldurulmuş form alanlarına sahip yeni bir PDF belgesi oluşturur.

Bu, JSON verilerini ayırmak için Newtonsoft.Json ve PDF belgelerini işlemek için IronPDF'i nasıl etkili bir şekilde kullanabileceğinizi gösterir.

Newtonsoft Jsonpath (Geliştiriciler İçin Nasıl Çalışır): Şekil 2

Kullanım Durumu 3: PDF Metadata'dan JSON'a

Önce, IronPDF kullanarak PDF'den metaveriyi çıkarın:

var pdf = IronPdf.PdfDocument.FromFile("document.pdf");
var metadata = pdf.MetaData;

Ardından, bu verileri Newtonsoft.Json kullanarak bir JSON dizgisine serileştirin:

string jsonString = JsonConvert.SerializeObject(metadata, Formatting.Indented);
File.WriteAllText("metadata.json", jsonString);

Bu kodda metadata nesnesi, Author, Title, CreateDate gibi özellikler içerir. Bu özellikler bir JSON dizgisine serileştirilir ve "metadata.json" adlı bir dosyaya yazılır.

Newtonsoft Jsonpath (Geliştiriciler İçin Nasıl Çalışır): Şekil 3

Newtonsoft.Json ve IronPDF'in birleştirilmesi, PDF dosyalarını ve JSON'u arasında veri dönüştürmenize olanak tanır, çeşitli kullanım durumlarını aşabilir.

Sonuç

Sonuç olarak, Newtonsoft.Json ve IronPDF, .NET'te JSON verilerini işlemek ve PDF dosyaları oluşturmak için güçlü ve esnek bir çözüm sunar. JSON verilerini, Newtonsoft.Json ile .NET nesnelerine veya sözlüklerine ayrıştırarak, bu veriyi çeşitli bağlamlarda kullanabilir ve PDF formlarını doldurmak veya şablonlardan dinamik PDF raporları üretmek için kullanabiliriz. IronPDF, PDF oluşturma ve yönetme sürecini basit ve etkin hale getirir.

Bu makalede, kütüphaneler tanıtıldı ve bazı temel işlevleri vurgulandı. Ancak, her iki kütüphanenin de sunabileceği çok daha fazla şey var. Özellikleri ve yetenekleri için kapsamlı dokümantasyonlarına derinlemesine bakmanızı şiddetle öneririz.

IronPDF'i denemekle ilgileniyorsanız, IronPDF'in özelliklerini keşfetmenize ve satın almadan önce ihtiyaçlarınızı karşılayıp karşılamadığını değerlendirmenize olanak tanıyan IronPDF'in ücretsiz deneme sürümünü sunarlar. Devam etmeye karar verdiğinizde, IronPDF, tartışılan tüm özelliklere erişimi, desteği ve güncellemeleri içeren IronPDF Lisanslama Seçenekleri ile başlamaktadır. Bu da size, .NET projelerinizde etkin bir şekilde PDF dosyaları üretme, yönetme ve manipüle etme araçları ve desteği sağladığından emin olur.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez