IRONSOFTWAREHOME
開發者更新

Newtonsoft Jsonpath(開發者的工作原理)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月21日

如果您曾經在.NET中處理過JSON資料,您可能會遇到Newtonsoft.Json程式庫,這是.NET上一個受歡迎的高性能JSON框架。 本教程旨在幫助初學者和中級使用者有效地理解並使用這個強大的程式庫,重點介紹其系統參考、文件和任何相關的版本更新。

入門

要開始使用Newtonsoft.Json,首先需要將其安裝到您的.NET專案中。 這可以通過NuGet這個.NET包管理器來完成。 在NuGet包管理器控制台中,輸入:

PM > Install-Package Newtonsoft.Json

成功安裝後,通過新增以下using聲明將程式庫新增到您的.NET專案中:

using Newtonsoft.Json;

使用Newtonsoft.JSON解析JSON

解析JSON本質上是將JSON格式的字串轉換為.NET應用程式中可用的資料結構的過程。 使用Newtonsoft.Json,這個過程非常簡單。

讓我們看一個人的JSON物件範例:

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

我們可以使用T是我們想要建立的物件型別。 在這種情況下,我們將建立一個Person類別並將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);

現在,person物件將包含JSON字串中的值。

處理JSON檔案

您經常需要從檔案中讀取或寫入JSON資料。讓我們看看如何使用Newtonsoft.Json來完成這個操作。 在這種情況下,我們將使用System.IO命名空間。

要讀取JSON文件並將其解析為物件:

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

要將物件寫入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);

處理陣列

在某些情況下,您的JSON將包含陣列。 例如,一個Friends的陣列:

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

您可以使用foreach迴圈來遍歷JSON陣列:

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

注意:jsonObject應替換為從JSON初始化的實際JObject。

修改和寫入JSON

Newtonsoft.Json使得修改和寫入JSON變得輕而易舉。 假設您需要更新我們的Person值。

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

然後將其寫回字串:

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

注意:jsonObject應替換為從JSON初始化的實際JObject。

LINQ to JSON

Newtonsoft.Json還提供功能來使用LINQ(語言整合查詢)查詢和操作JSON物件。 這非常強大,因為它允許您使用所有標準的LINQ操作符來查詢JSON物件,就像您對XML或物件集合所做的那樣。

以下是一個範例,顯示如何提取所有朋友中小於30歲的名字:

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

注意:jsonObject應替換為從JSON初始化的實際JObject。

簡介 IronPDF

了解IronPDF是.NET生態系統中流行的庫,允許開發人員建立、編輯和從PDF文件中提取資料。 它非常多功能,並且能夠無縫地與其他庫配合使用,包括Newtonsoft.Json。

IronPDF在HTML到PDF的轉換中表現出色,確保精確保留原始佈局和樣式。 它非常適合從基於網路的內容(如報告、發票和文件)建立PDF文件。 用於HTML文件、URL和原始HTML字串的支持,IronPDF可以輕鬆生成高品質的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");
    }
}

假設我們有一個需求,我們有JSON資料,我們希望從該資料中建立一個PDF報告。 我們可以使用Newtonsoft.Json來解析JSON資料,並使用IronPDF來建立PDF。 讓我們看看我們如何做到這一點。

IronPDF 的安裝

像Newtonsoft.Json一樣,IronPDF也可以通過NuGet獲得。 您可以使用以下命令安裝它:

PM > Install-Package IronPdf

然後通過新增以下內容將其包含在您的專案中:

using IronPdf;

用例1:從JSON資料建立PDF

在此用例中,我們將展示如何使用Newtonsoft.Json和IronPDF從JSON資料生成PDF報告。 這對於基於以JSON格式儲存的資料建立動態報告的應用程式特別有用。

以下是一個我們將要處理的JSON文件範例:

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

這個JSON資料代表一個簡單的銷售報告。

第一步是讀取名為"data.json"的JSON文件,並使用Newtonsoft.Json將其解析為一個字典:

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

執行此程式碼後,您將擁有一個名為reportData的字典,包含代表JSON文件中的屬性和值的鍵值對。

接下來,我們使用reportData中的資料生成一個HTML模板。 reportData字典中的鍵用於將適當的值插入到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>";

最後,我們使用IronPDF將HTML程式碼轉換為PDF文件。 我們使用ChromePdfRenderer建立一個PDF渲染器,使用它將HTML轉換為PDF,然後保存PDF:

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

Newtonsoft Jsonpath(它如何為開發人員工作):圖1

用例2:JSON到PDF表單

在此用例中,我們將讀取JSON資料以填充PDF文件中的表單字段。 在此範例中,假設我們有以下JSON資料:

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

這個JSON代表一個人的個人資訊。

首先,我們使用Newtonsoft.Json從文件中讀取JSON資料並將其解析為字典:

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

此軟體建立了一個名為City"及其相應的值。

接下來,我們使用IronPdf開啟PDF文件並獲取表單:

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

現在,我們可以使用person字典來填充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"];

每個表單字段都與person's字典中的鍵聯繫在一起。

最後,我們保存填寫好的PDF表單:

doc.SaveAs("myPdfForm_filled.pdf");

此方法將建立一個新PDF文件,其中的表單字段將填充來自JSON文件的資料。

這說明您可以有效地使用Newtonsoft.Json解析JSON資料以及使用IronPDF操控PDF文件。

Newtonsoft Jsonpath(它如何為開發人員工作):圖2

用例3:PDF元資料到JSON

首先,使用IronPDF提取PDF的元資料:

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

然後,使用Newtonsoft.Json將此資料序列化為一個JSON字串:

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

在此程式碼中,CreateDate等屬性。這些屬性被序列化為JSON字串並寫入名為"metadata.json"的文件中。

Newtonsoft Jsonpath(它如何為開發人員工作):圖3

結合Newtonsoft.Json和IronPDF,您可以在PDF文件和JSON之間轉換資料,滿足各種應用需求。

結論

總結來說,Newtonsoft.Json和IronPDF一起為在.NET中處理JSON資料和生成PDF文件提供了一個強大且靈活的解決方案。 通過使用Newtonsoft.Json將JSON資料解析為.NET物件或字典,我們可以操作這些資料並在各種情境中使用,例如填寫PDF表單或從模板生成動態PDF報告。 IronPDF使得建立和管理PDF的過程變得簡單高效。

本文介紹了這些庫,並強調了它們的一些核心功能。 然而,這兩個庫有更多可以提供。 我們強烈推薦查看它們的詳細文件,以深入了解它們的功能和能力。

如果您對於嘗試使用IronPDF感興趣,他們提供IronPDF的免費試用,以便您可以探索其功能並評估它是否滿足您的需求然後再購買。 一旦您決定繼續使用IronPDF,授權起始於IronPDF授權選項,其中包括繼續存取我們討論的所有功能以及支援和更新。 這確保您擁有工具和支援以在您的.NET專案中有效地生成、管理和處理PDF文件。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起