IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Newtonsoft Jsonpath (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

Jeśli kiedykolwiek pracowałeś z danymi JSON w .NET Framework, prawdopodobnie zetknąłeś się z biblioteką Newtonsoft.Json, popularnym, wysokowydajnym frameworkiem JSON dla .NET Framework. Ten samouczek ma na celu pomóc początkującym i średnio zaawansowanym użytkownikom w skutecznym zrozumieniu i wykorzystaniu tej potężnej biblioteki, ze szczególnym uwzględnieniem jej odniesień systemowych, dokumentacji i wszelkich istotnych aktualizacji wydawniczych.

Pierwsze kroki

Aby rozpocząć korzystanie z Newtonsoft.Json, należy najpierw zainstalować go w projekcie .NET. Można to zrobić za pomocą NuGet, menedżera pakietów .NET. W konsoli menedżera pakietów NuGet wpisz:

PM > Install-Package Newtonsoft.Json

Po pomyślnej instalacji dodaj bibliotekę do swojego projektu .NET, dodając następującą instrukcję using:

using Newtonsoft.Json;

Parsowanie JSON przy użyciu Newtonsoft.JSON

Parsowanie JSON to zasadniczo proces przekształcania ciągu znaków w formacie JSON w użyteczną strukturę danych w aplikacji .NET. Dzięki Newtonsoft.Json proces ten jest prosty.

Przyjrzyjmy się przykładowemu obiektowi JSON dla osoby:

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

Możemy sparsować ten ciąg JSON do obiektu C# za pomocą metody JsonConvert.DeserializeObject<t>(), gdzie T jest typem obiektu, który chcemy stworzyć. W tym przypadku stworzymy klasę Person i sparsujemy do niej JSON.

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

Teraz obiekt person będzie zawierał wartości z ciągu JSON.

Praca z plikami JSON

Często trzeba odczytywać lub zapisywać dane JSON z pliku lub do pliku. Zobaczmy, jak można to zrobić za pomocą Newtonsoft.Json. W tym przypadku użyjemy klasy File z przestrzeni nazw System.IO.

Aby odczytać plik JSON i przeanalizować go do postaci obiektu:

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

Aby zapisać obiekt do pliku JSON:

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

Praca z tablicami

W niektórych przypadkach plik JSON będzie zawierał tablice. Na przykład obiekt Person może mieć tablicę Friends:

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

Możesz użyć pętli foreach, aby iterować przez tablicę JSON:

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

Uwaga: jsonObject powinien zostać zastąpiony rzeczywistym JObject zainicjowanym z JSON.

Modyfikowanie i pisanie JSON

Newtonsoft.Json ułatwia modyfikowanie i pisanie JSON. Powiedzmy, że musisz zaktualizować wartość Age naszego obiektu Person.

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

A następnie zapisz to z powrotem do ciągu znaków:

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

Uwaga: jsonObject powinien zostać zastąpiony rzeczywistym JObject zainicjowanym z JSON.

LINQ do JSON

Newtonsoft.Json zapewnia również funkcje wyszukiwania i manipulowania obiektami JSON przy użyciu LINQ (Language Integrated Query). Jest to bardzo potężne narzędzie, ponieważ pozwala na użycie wszystkich standardowych operatorów LINQ do przeszukiwania obiektu JSON, tak jak w przypadku XML lub kolekcji obiektów.

Oto przykład pokazujący, jak można pobrać nazwiska wszystkich znajomych poniżej 30 roku życia:

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

Uwaga: jsonObject powinien zostać zastąpiony rzeczywistym JObject zainicjowanym z JSON.

Wprowadzenie do IronPDF

Dowiedz się więcej o IronPDF – popularnej bibliotece w ekosystemie .NET, która pozwala programistom tworzyć, edytować i wyodrębniać dane z plików PDF. Jest niezwykle wszechstronny i płynnie współpracuje z innymi bibliotekami, w tym Newtonsoft.Json.

IronPDF wyróżnia się w konwersji HTML do PDF, zapewniając precyzyjne zachowanie oryginalnych układów i stylów. Idealnie nadaje się do tworzenia plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Dzięki obsłudze plików HTML, adresów URL i surowych ciągów znaków HTML, IronPDF z łatwością tworzy wysokiej jakości dokumenty 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");
    }
}

Załóżmy, że mamy dane w formacie JSON i chcemy utworzyć raport PDF na podstawie tych danych. Do analizowania danych JSON możemy użyć Newtonsoft.Json, a do tworzenia plików PDF — IronPDF. Zobaczmy, jak możemy to zrobić.

Instalacja IronPDF

Podobnie jak Newtonsoft.Json, IronPDF jest również dostępny za pośrednictwem NuGet. Można go zainstalować za pomocą następującego polecenia:

PM > Install-Package IronPdf

Następnie możesz włączyć go do swojego projektu, dodając:

using IronPdf;

Przykład zastosowania 1: Tworzenie plików PDF na podstawie danych JSON

W tym przykładzie pokażemy, jak używać Newtonsoft.Json i IronPDF do generowania raportu PDF na podstawie danych JSON. Może to być szczególnie przydatne w przypadku aplikacji, które tworzą dynamiczne raporty na podstawie danych przechowywanych w formacie JSON.

Oto przykładowy plik JSON, nad którym będziemy pracować:

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

Te dane JSON przedstawiają prosty raport sprzedaży.

Pierwszym krokiem jest odczytanie pliku JSON, nazwanego tutaj "data.json", i przeanalizowanie go do słownika przy użyciu Newtonsoft.Json:

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

Po wykonaniu tego kodu będziesz mieć słownik o nazwie reportData zawierający pary klucz-wartość reprezentujące właściwości i ich wartości w pliku JSON.

Następnie generujemy szablon HTML używając danych z reportData. Klucze ze słownika reportData są używane do wstawienia odpowiednich wartości do 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>";

Na koniec używamy IronPDF do konwersji kodu HTML na dokument PDF. Używamy ChromePdfRenderer do stworzenia renderera PDF, używamy go do konwersji HTML na PDF, a następnie zapisujemy PDF:

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

Newtonsoft Jsonpath (Jak Działa Dla Deweloperów): Rysunek 1

Przykład zastosowania 2: Formularz JSON do PDF

W tym przykładzie użycia odczytamy dane JSON, aby wypełnić pola formularza w dokumencie PDF. W tym przykładzie załóżmy, że mamy następujące dane JSON:

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

Ten plik JSON zawiera dane osobowe danej osoby.

Najpierw używamy Newtonsoft.Json do odczytania danych JSON z pliku i ich parsowania do słownika:

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

To oprogramowanie tworzy słownik o nazwie person z kluczami "FirstName," "LastName," "PhoneNumber," "Email," i "City," oraz ich odpowiadającymi wartościami.

Następnie otwieramy dokument PDF używając IronPdf i pobieramy formularz:

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

Możemy teraz użyć słownika person do wypełnienia pól formularza w dokumencie PDF:

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

Każde pole formularza jest powiązane z kluczem z słownika danej osoby.

Na koniec zapisujemy wypełniony formularz PDF:

doc.SaveAs("myPdfForm_filled.pdf");

Ta metoda utworzy nowy dokument PDF z polami formularza wypełnionymi danymi z pliku JSON.

To pokazuje, jak skutecznie można używać Newtonsoft.Json do parsowania danych JSON i IronPDF do manipulacji dokumentami PDF.

Newtonsoft Jsonpath (Jak Działa Dla Deweloperów): Rysunek 2

Przykład zastosowania 3: Metadane PDF do formatu JSON

Najpierw użyj IronPDF do wyodrębnienia metadanych z pliku PDF:

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

Następnie, serializuj te dane do ciągu JSON używając Newtonsoft.Json:

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

W tym kodzie obiekt metadata zawiera właściwości takie jak Author, Title, CreateDate, itp. Są one serializowane do ciągu JSON i zapisywane do pliku o nazwie "metadata.json."

Newtonsoft Jsonpath (Jak Działa Dla Deweloperów): Rysunek 3

Połączenie Newtonsoft.Json i IronPDF pozwala na konwersję danych między plikami PDF a JSON, spełniając szeroki zakres zastosowań.

Wnioski

Podsumowując, Newtonsoft.Json i IronPDF razem stanowią potężne i elastyczne rozwiązanie do obsługi danych JSON i generowania plików PDF w środowisku .NET. Parsując dane JSON do obiektów lub słowników .NET za pomocą Newtonsoft.Json, możemy manipulować tymi danymi i wykorzystywać je w różnych kontekstach, takich jak wypełnianie formularzy PDF lub generowanie dynamicznych raportów PDF na podstawie szablonów. IronPDF sprawia, że proces tworzenia plików PDF i zarządzania nimi jest prosty i wydajny.

W niniejszym artykułe przedstawiono biblioteki, podkreślając niektóre z ich podstawowych funkcji. Jednak obie biblioteki mają do zaoferowania znacznie więcej. Zdecydowanie zalecamy zapoznanie się z obszerną dokumentacją, aby dogłębnie poznać ich funkcje i możliwości.

Jeśli chcesz wypróbować IronPDF, firma oferuje bezpłatną wersję próbną, dzięki której możesz zapoznać się z jego funkcjami i ocenić, czy spełnia Twoje potrzeby przed zakupem. Gdy zdecydujesz się kontynuować korzystanie z IronPDF, licencjonowanie rozpoczyna się od opcji licencyjnych IronPDF, które obejmują stały dostęp do wszystkich omówionych funkcji, a także wsparcie techniczne i aktualizacje. Dzięki temu zyskasz narzędzia i wsparcie, które pozwolą Ci skutecznie tworzyć, zarządzać i edytować pliki PDF w projektach .NET.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

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

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
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja 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