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来做到这一点。 在这种情况下,我们将使用File类。

要读取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变得简单。 假设您需要更新我们的Age值。

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

然后将其写回字符串:

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

注意:jsonObject应该替换为从JSON初始化的实际JObject。

LINQ到JSON

Newtonsoft.Json还提供了使用LINQ(语言集成查询)查询和操作JSON对象的功能。 这是非常强大的,因为它允许您使用所有标准的LINQ操作符来查询JSON对象,就像您对XML或对象集合所做的那样。

这是一个示例,展示了如何获取所有Friends小于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转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建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。 让我们看看如何做到这一点。

Installation of 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字典中的一个键关联。

最后,我们保存填好的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 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

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 起