.NET-HILFE

Newtonsoft Jsonpath (Wie es für Entwickler funktioniert)

Regan Pun
Regan Pun
29. Oktober 2023
Teilen Sie:

Wenn Sie jemals mit JSON-Daten in .NET gearbeitet haben, sind Sie wahrscheinlich schon auf dasNewtonsoft.Json bibliothek, einem beliebten und leistungsstarken JSON-Framework für .NET. Dieses Tutorial soll Anfängern und fortgeschrittenen Anwendern helfen, diese leistungsstarke Bibliothek effektiv zu verstehen und zu nutzen. Der Schwerpunkt liegt dabei auf den Systemreferenzen, der Dokumentation und allen relevanten Aktualisierungen.

Erste Schritte

Um Newtonsoft.Json verwenden zu können, müssen Sie es zunächst in Ihr .NET-Projekt installieren. Dies kann über NuGet, den .NET-Paketmanager, erfolgen. Geben Sie in der NuGet-Paketmanager-Konsole ein:

Install-Package Newtonsoft.Json

Nach erfolgreicher Installation fügen Sie die Bibliothek in Ihr .NET-Projekt ein, indem Sie die folgende using-Anweisung hinzufügen:

using Newtonsoft.Json;
using Newtonsoft.Json;

Parsing von JSON mit "Newtonsoft.JSON

Das Parsen von JSON ist im Wesentlichen der Prozess der Konvertierung einer Zeichenkette im JSON-Format in eine verwendbare Datenstruktur in Ihrer .NET-Anwendung. Mit Newtonsoft.Json ist der Prozess sehr einfach.

Schauen wir uns ein JSON-Beispielobjekt für eine Person an:

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

Wir können diese JSON-Zeichenfolge in ein C#-Objekt parsen, indem wir die Funktion JsonConvert.DeserializeObject<T>()methode, wobei **T`** der Typ des Objekts ist, das wir erstellen wollen. In diesem Fall erstellen wir eine Klasse "Person" und parsen das JSON in diese Klasse.

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

Das Objekt "Person" enthält nun die Werte aus der JSON-Zeichenfolge.

Arbeiten mit JSON-Dateien

Sie werden oft JSON-Daten aus einer Datei lesen oder in eine Datei schreiben müssen. Sehen wir uns an, wie wir das mit Newtonsoft.Json tun können. In diesem Fall verwenden wir die Klasse File aus dem System.IO-Namespace.

Lesen einer JSON-Datei und Parsen in ein Objekt:

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

So schreiben Sie ein Objekt in eine JSON-Datei:

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

Arbeiten mit Arrays

In einigen Fällen wird Ihr JSON Arrays enthalten. Zum Beispiel könnte ein "Person"-Objekt eine Reihe von "Freunden" haben:

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

Sie können die Schleife "Foreach" verwenden, um das JSON-Array zu durchlaufen:

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

Ändern und Schreiben von JSON

Newtonsoft.Json macht es einfach, JSON zu ändern und zu schreiben. Nehmen wir an, Sie müssen den Wert "Alter" unseres Objekts "Person" aktualisieren.

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

Und schreiben Sie sie dann in eine Zeichenkette zurück:

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

LINQ zu JSON

Newtonsoft.Json bietet auch Funktionen zur Abfrage und Manipulation von JSON-Objekten mit LINQ(Sprache Integrierte Abfrage). Dies ist sehr leistungsfähig, da Sie alle Standard-LINQ-Operatoren verwenden können, um ein JSON-Objekt genauso abzufragen, wie Sie es mit XML oder einer Sammlung von Objekten tun würden.

Das folgende Beispiel zeigt, wie Sie die Namen aller Freunde, die jünger als 30 sind, abrufen können:

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

Einführung in IronPDF

Erfahren Sie mehr über IronPDF ist eine beliebte Bibliothek im .NET-Ökosystem, mit der Entwicklererstellen, Bearbeiten und Extrahieren von Daten aus PDF-Dateien. Es ist unglaublich vielseitig und lässt sich gut mit anderen Bibliotheken, einschließlich Newtonsoft.Json, kombinieren.

IronPDF zeichnet sich aus durchHTML zu PDFKonvertierung, die eine präzise Wahrung der ursprünglichen Layouts und Stile sicherstellt. Es ist perfekt geeignet, um PDFs aus webbasierten Inhalten wie Berichten, Rechnungen und Dokumentationen zu erstellen. Mit Unterstützung von HTML-Dateien, URLs und rohen HTML-Zeichenfolgen produziert IronPDF mühelos hochwertige PDF-Dokumente.

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

Nehmen wir an, wir haben eine Anforderung, bei der wir JSON-Daten haben und aus diesen Daten einen PDF-Bericht erstellen möchten. Wir können Newtonsoft.Json für das Parsen der JSON-Daten und IronPDF für die Erstellung der PDF-Datei verwenden. Wir wollen sehen, wie wir das machen können.

Installation von IronPDF

Wie Newtonsoft.Json ist auch IronPDF über NuGet verfügbar. Sie können es mit dem folgenden Befehl installieren:

Install-Package IronPdf

Dann können Sie es durch Hinzufügen in Ihr Projekt aufnehmen:

using IronPdf;
using IronPdf;

Anwendungsfall 1 PDF-Erstellung aus JSON-Daten

In Bezug auf diesen Anwendungsfall wird gezeigt, wie Newtonsoft.Json und IronPDF verwendet werden, um einen PDF-Bericht aus JSON-Daten zu erstellen. Dies kann insbesondere für Anwendungen nützlich sein, die dynamische Berichte auf der Grundlage von Daten erstellen, die in einem JSON-Format gespeichert sind.

Hier ist eine Beispiel-JSON-Datei, mit der wir arbeiten werden:

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

Diese JSON-Daten stellen einen einfachen Verkaufsbericht dar.

Der erste Schritt besteht darin, die JSON-Datei, hier "data.json" genannt, zu lesen und sie mit Newtonsoft.Json in ein Wörterbuch zu parsen:

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

Nach der Ausführung dieses Codes erwarten wir, dass Sie ein Wörterbuch mit dem Namen reportData haben, das Schlüssel-Wert-Paare enthält, die die Eigenschaften und ihre Werte in der JSON-Datei darstellen.

Als nächstes wird eine HTML-Vorlage mit den Daten aus "reportData" erstellt. Die Schlüssel aus dem Wörterbuch reportData werden verwendet, um die entsprechenden Werte in den HTML-Code einzufügen:

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

Schließlich verwenden wir IronPDF, um den HTML-Code in ein PDF-Dokument zu konvertieren. Wir verwenden "ChromePdfRenderer", um einen PDF-Renderer zu erstellen, den HTML-Code in ein PDF-Dokument umzuwandeln und das PDF-Dokument zu speichern:

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

Newtonsoft Jsonpath(Wie es für Entwickler funktioniert): Abbildung 1

Anwendungsfall 2 JSON zu PDF Formular

In diesem Anwendungsfall werden wir JSON-Daten lesen, um Formularfelder in einem PDF-Dokument auszufüllen. Für dieses Beispiel nehmen wir an, dass wir die folgenden JSON-Daten haben:

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

Dieses JSON stellt persönliche Informationen zu einer Person dar.

Zunächst verwenden wir "Newtonsoft.Json", um die JSON-Daten aus der Datei zu lesen und in ein Wörterbuch zu parsen:

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

Diese Software erstellt ein Wörterbuch mit der Bezeichnung Person mit den Schlüsseln Vorname, Nachname, Telefonnummer, E-Mail und Stadt und den entsprechenden Werten.

Als Nächstes öffnen wir das PDF-Dokument mit "IronPDF" und rufen das Formular auf:

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

Wir können nun das Wörterbuch "Person" verwenden, um die Formularfelder im PDF-Dokument zu füllen:

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"];
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"];

Jedes Formularfeld ist mit einem Schlüssel aus dem Wörterbuch der Person verbunden.

Schließlich speichern wir das ausgefüllte PDF-Formular:

doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf");

Mit dieser Methode wird ein neues PDF-Dokument erstellt, in dem die Formularfelder mit den Daten aus der JSON-Datei ausgefüllt sind.

Hier wird demonstriert, wie man effektiv Newtonsoft.Json zum Parsen von JSON-Daten und IronPDF zur Bearbeitung von PDF-Dokumenten einsetzen kann.

Newtonsoft Jsonpath(Wie es für Entwickler funktioniert): Abbildung 2

Anwendungsfall 3 PDF-Metadaten in JSON

Verwenden Sie zunächst IronPDF, um die Metadaten aus der PDF-Datei zu extrahieren:

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

Anschließend serialisieren Sie diese Daten mit "Newtonsoft.Json" in einen JSON-String:

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

In diesem Code enthält das Objekt "metadata" Eigenschaften wie "Autor", "Titel", "Erstellungsdatum" usw. Diese werden in eine JSON-Zeichenkette serialisiert und in eine Datei namens "metadata.json" geschrieben

Newtonsoft Jsonpath(Wie es für Entwickler funktioniert): Abbildung 3

Die Kombination von Newtonsoft.Json und IronPDF ermöglicht Ihnen die Konvertierung von Daten zwischen PDF-Dateien und JSON und erfüllt damit eine Vielzahl von Anwendungsfällen.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass Newtonsoft.Json und IronPDF zusammen eine leistungsstarke und flexible Lösung für die Verarbeitung von JSON-Daten und die Generierung von PDF-Dateien in .NET bieten. Durch das Parsen von JSON-Daten in .NET-Objekte oder Wörterbücher mit Newtonsoft.Json können wir diese Daten manipulieren und in verschiedenen Kontexten verwenden, z.B. zum Ausfüllen von PDF-Formularen oder zur Erstellung dynamischer PDF-Berichte aus Vorlagen. IronPDF macht die Erstellung und Verwaltung von PDFs einfach und effizient.

Dieser Artikel stellt die Bibliotheken vor und hebt einige ihrer Hauptfunktionen hervor. Beide Bibliotheken haben aber noch viel mehr zu bieten. Wir empfehlen dringend, die ausführliche Dokumentation zu lesen, um einen tieferen Einblick in die Funktionen und Möglichkeiten zu erhalten.

Wenn Sie IronPDF ausprobieren möchten, bieten sie einekostenlose Testversion von IronPDF so dass Sie sich vor dem Kauf über die Funktionen informieren und beurteilen können, ob die Software Ihren Anforderungen entspricht. Wenn Sie sich für IronPDF entscheiden, beginnt die Lizenzierung beiIronPDF-Lizenzierungsoptionen der Preis beinhaltet den kontinuierlichen Zugang zu allen besprochenen Funktionen sowie Support und Updates. Dadurch wird sichergestellt, dass Sie über die Werkzeuge und die Unterstützung verfügen, um PDF-Dateien in Ihren .NET-Projekten effektiv zu erzeugen, zu verwalten und zu bearbeiten.

Regan Pun
Software-Ingenieur
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS
Math Floor C# (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# AND (Wie es für Entwickler funktioniert)