Newtonsoft Jsonpath (開発者向けの仕組み)
もし .NET で JSON データを操作したことがあるなら、Newtonsoft.Json ライブラリに遭遇したことがあるでしょう。これは .NET 用の人気の高い高性能 JSON フレームワークです。 このチュートリアルは、初心者と中級ユーザーがこの強力なライブラリを効果的に理解し使用することを目的としており、特にそのシステムリファレンス、ドキュメント、および関連するリリースアップデートに焦点を当てています。
開始方法
Newtonsoft.Json を使用し始めるには、まず .NET プロジェクトにインストールする必要があります。 これは .NET パッケージマネージャである NuGet を通じて行うことができます。 NuGet パッケージマネージャ コンソールで次のように入力します。
Install-Package Newtonsoft.Json
インストールが成功した後、次の using ステートメントを追加して、ライブラリを .NET プロジェクトに追加します。
using Newtonsoft.Json;using Newtonsoft.Json;Imports Newtonsoft.JsonNewtonsoft.JSON での JSON の解析
JSON の解析は基本的に JSON 形式の文字列を使用できるデータ構造に変換するプロセスです。 Newtonsoft.Json を使用すると、このプロセスは簡単です。
人のためのサンプル JSON オブジェクトを見てみましょう。
{
"Name": "Iron Developer",
"Age": 30,
"Email": "irondeveloper@ironsoftware.com"
}JsonConvert.DeserializeObject() メソッドを使用して、この JSON 文字列を C# オブジェクトに解析することができます。ここで 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);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 Property Name() As String
Public Property Age() As Integer
Public Property Email() As String
End Class
Private jsonString As String = "JSON string here"
Private person As Person = JsonConvert.DeserializeObject(Of Person)(jsonString)これで、person オブジェクトには JSON 文字列の値が含まれるようになります。
JSON ファイルの操作
JSON データをファイルから読み取ったり、ファイルに書き込んだりする必要がよくあります。Newtonsoft.Json を使ってその方法を見てみましょう。 この場合、System.IO 名前空間から File クラスを使用します。
JSON ファイルを読んでオブジェクトに解析するには:
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);Dim path As String = "path to your json file"
Dim jsonString As String = File.ReadAllText(path)
Dim person As Person = JsonConvert.DeserializeObject(Of 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);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);Dim person As New Person() With {
.Name = "John Doe",
.Age = 30,
.Email = "johndoe@example.com"
}
Dim path As String = "path to your json file"
Dim jsonString As String = JsonConvert.SerializeObject(person)
File.WriteAllText(path, jsonString)配列を扱う
場合によっては、JSON に配列が含まれることがあります。 例えば、Person オブジェクトに Friends の配列が含まれている場合があります。
{
"Name": "John Doe",
"Friends": [
{
"Name": "Jane Doe",
"Age": 28
},
{
"Name": "Billy",
"Age": 25
}
]
}foreach ループを使用して JSON 配列を反復処理できます。
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);
}Dim friends As JArray = CType(jsonObject("Friends"), JArray)
For Each [friend] As JObject In friends
Dim friendName As String = CStr([friend]("Name"))
Console.WriteLine(friendName)
Next [friend]注: jsonObject は JSON から初期化された実際の JObject に置き換える必要があります。
JSON の修正と作成
Newtonsoft.Json は JSON の修正と作成を簡単にします。 Person オブジェクトの Age 値を更新する必要があるとしましょう。
jsonObject["Age"] = 31; // Update the agejsonObject["Age"] = 31; // Update the agejsonObject("Age") = 31 ' Update the ageそして、それを文字列に戻して書き込みます。
string updatedJson = jsonObject.ToString();
File.WriteAllText(path, updatedJson); // Write back to the filestring updatedJson = jsonObject.ToString();
File.WriteAllText(path, updatedJson); // Write back to the fileDim updatedJson As String = jsonObject.ToString()
File.WriteAllText(path, updatedJson) ' Write back to the file注: jsonObject は JSON から初期化された実際の JObject に置き換える必要があります。
LINQ to JSON
Newtonsoft.Json はまた、LINQ(統合言語クエリ)を使用して JSON オブジェクトに問い合わせしたり操作したりする機能も提供します。 これは非常に強力で、標準の LINQ オペレーターを使用して、XML やオブジェクトのコレクションと同様に JSON オブジェクトにクエリを実行できます。
30 歳未満のすべてのFriends の名前を取得する方法を示すサンプルです。
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);
}Imports System
Dim youngFriends = jsonObject("Friends").Where(Function(f) CInt(Math.Truncate(f("Age"))) < 30).Select(Function(f) CStr(f("Name")))
For Each name As String In youngFriends
Console.WriteLine(name)
Next name注: jsonObject は JSON から初期化された実際の JObject に置き換える必要があります。
IronPDFの紹介
IronPDF について学ぶ は、開発者が PDF ファイルを作成、編集、データ抽出できるようにする .NET 環境で人気のあるライブラリです。 それは非常に多才で、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");
}
}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");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End ClassJSON データがあり、そのデータから PDF レポートを作成する必要があるという要件を仮定します。 JSON データの解析には Newtonsoft.Json を、PDF の作成には IronPDF を使用できます。 これを行う方法を見てみましょう。
IronPDF のインストール
Newtonsoft.Json と同様に、IronPDF も NuGet を通じて利用可能です。 次のコマンドを使用してインストールできます。
Install-Package IronPdf
そして、次のコードを追加してプロジェクトに含めることができます。
using IronPdf;using IronPdf;Imports IronPdfユースケース 1: JSON データから PDF を作成
このユースケースでは、Newtonsoft.Json と IronPDF を使用して JSON データから PDF レポートを生成する方法を示します。 これは、JSON 形式で保存されたデータに基づいて動的レポートを作成するアプリケーションに特に役立ちます。
ここで使用するサンプル JSON ファイルはこちらです。
{
"Title": "Sales Report",
"Month": "August",
"Year": "2023",
"TotalSales": "10000",
"ItemsSold": "500"
}この JSON データは、単純な販売レポートを表しています。
最初のステップは、このコードを実行することにより、データ.json という名前の JSON ファイルを読み取り、Newtonsoft.Json を使用して辞書に解析することです:
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);Dim jsonString As String = File.ReadAllText("data.json")
Dim reportData = JsonConvert.DeserializeObject(Of Dictionary(Of String, String))(jsonString)このコードを実行すると、JSON ファイル内のプロパティとその値を表すキーと値のペアを持つ reportData という辞書が作成されます。
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>";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>";Dim htmlContent As String = $"
<html>
<head><title>{reportData("Title")}</title></head>ignoreignore<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");var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("Report.pdf");Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("Report.pdf")
ユースケース 2: JSON から PDF フォームへの記入
このユースケースでは、JSON データを読み取って PDF ドキュメントのフォームフィールドに記入します。 この例では、次のような JSON データを考えてみましょう。
{
"FirstName": "John",
"LastName": "Smith",
"PhoneNumber": "+19159969739",
"Email": "John@email.com",
"City": "Chicago"
}この JSON は、個人情報を表しています。
最初に、Newtonsoft.Json を使用してファイルから JSON データを読み取り、辞書に解析します。
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);Dim jsonString As String = File.ReadAllText("data.json")
Dim person = JsonConvert.DeserializeObject(Of Dictionary(Of String, String))(jsonString)このソフトウェアは、FirstName、LastName、PhoneNumber、Email、City というキーとそれに対応する値を持つ person という名前の辞書を作成します。
次に IronPdf を使用して PDF ドキュメントを開き、フォームを取得します。
var doc = PdfDocument.FromFile("myPdfForm.pdf");
var form = doc.Form;var doc = PdfDocument.FromFile("myPdfForm.pdf");
var form = doc.Form;Dim doc = PdfDocument.FromFile("myPdfForm.pdf")
Dim form = doc.Formperson 辞書を使用して、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"];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")各フォームフィールドは、person's 辞書のキーに関連付けられています。
最後に、記入済みの PDF フォームを保存します。
doc.SaveAs("myPdfForm_filled.pdf");doc.SaveAs("myPdfForm_filled.pdf");doc.SaveAs("myPdfForm_filled.pdf")このメソッドは、JSONファイルからのデータでフォームフィールドに記入された新しいPDF文書を作成します。
これは、JSON データを解析し、IronPDF を使用して PDF ドキュメントを操作するために Newtonsoft.Json をいかに効果的に使用できるかを示しています。

ユースケース 3: PDF メタデータから JSON へ
まず、IronPDF を使用して PDF からメタデータを抽出します。
var pdf = IronPdf.PdfDocument.FromFile("document.pdf");
var metadata = pdf.MetaData;var pdf = IronPdf.PdfDocument.FromFile("document.pdf");
var metadata = pdf.MetaData;Dim pdf = IronPdf.PdfDocument.FromFile("document.pdf")
Dim metadata = pdf.MetaData次に、このデータを Newtonsoft.Json を使用して JSON 文字列にシリアル化します。
string jsonString = JsonConvert.SerializeObject(metadata, Formatting.Indented);
File.WriteAllText("metadata.json", jsonString);string jsonString = JsonConvert.SerializeObject(metadata, Formatting.Indented);
File.WriteAllText("metadata.json", jsonString);Dim jsonString As String = JsonConvert.SerializeObject(metadata, Formatting.Indented)
File.WriteAllText("metadata.json", jsonString)このコードで、metadata オブジェクトには、Author、Title、CreateDate などのプロパティが含まれます。これらは JSON 文字列にシリアル化され、"metadata.json" という名前のファイルに書き込まれます。

Newtonsoft.Json と IronPDF を組み合わせることで、PDF ファイルと JSON の間でデータを変換し、さまざまなユースケースを満たすことができます。
結論
結論として、Newtonsoft.Json と IronPDF は、JSON データを処理し .NET で PDF ファイルを生成するために、強力で柔軟なソリューションを提供します。 Newtonsoft.Json を使用して JSON データを .NET オブジェクトまたは辞書に解析することで、そのデータを操作し、PDF フォームに記入したり、テンプレートから動的 PDF レポートを生成したりするなど、さまざまなコンテキストで使用できます。 IronPDF は、PDF の作成と管理を簡単で効率的にします。
この記事では、ライブラリを紹介し、その主な機能のいくつかを強調しました。 しかし、両方のライブラリはさらに多くのことを提供できます。 その機能と能力を深く掘り下げるために、包括的なドキュメントをチェックすることを強くお勧めします。
IronPDF を試してみたい場合、IronPDF の無料試用版 を提供しているので、その機能を探り、購入前にニーズを満たしているか評価できます。 IronPDF を続けることを決定したら、IronPDF ライセンスオプションでライセンスが開始され、ここには今日お話ししたすべての機能とサポート、更新への継続的なアクセスが含まれます。 これにより、.NETプロジェクトでPDFファイルを効果的に生成、管理、および操作するためのツールと支援が得られます。
よくある質問
JSONを扱うためにNewtonsoft.Jsonをインストールする方法は?
あなたの.NETプロジェクトにおいて、NuGetパッケージマネージャを使用してNewtonsoft.Jsonライブラリをインストールできます。Install-Package Newtonsoft.Jsonをパッケージマネージャコンソールで実行してください。インストール後、using Newtonsoft.Json;をプロジェクトに含めてください。
JsonConvert.DeserializeObject()は何に使いますか?
JsonConvert.DeserializeObject()メソッドはJSONデータを.NETオブジェクトに解析するために使用されます。これにより、JSON文字列を型Tのオブジェクトに変換し、C#アプリケーション内でJSONデータを扱えるようになります。
JSONデータをLINQを使用して操作する方法は?
LINQ to JSONはNewtonsoft.Jsonによって提供される機能で、LINQ構文を使用してJSONオブジェクトをクエリおよび操作することができます。これは、.NETアプリケーション内でJSONデータを効率的にフィルタまたは検索するのに便利です。
JSONデータからPDFレポートを生成する方法は?
JSONデータからPDFレポートを生成するには、まずJSONをNewtonsoft.Jsonを使用して.NETオブジェクトに変換します。その後、これらのデータを使用してHTMLテンプレートを作成します。IronPDFのChromePdfRendererを使用してHTMLテンプレートをPDFドキュメントへ変換します。
JSONデータを使用してPDFフォームを埋めることはできますか?
はい、Newtonsoft.Jsonを使ってJSONを辞書に解析し、これらのデータを使用してIronPDFを使ってPDFフォームフィールドを埋め、埋められたPDFドキュメントを保存することで、PDFフォームをJSONデータで埋めることができます。
PDFメタデータをJSONに変換する方法は?
IronPDFを使用してPDFからメタデータを抽出し、それをNewtonsoft.Jsonを用いてJSON文字列に変換します。このプロセスにより、PDFメタデータをJSON形式で簡単に保存および操作できます。
Newtonsoft.JsonとIronPDFを一緒に使用する利点は何ですか?
.NETアプリケーションでNewtonsoft.JsonとIronPDFを組み合わせて使用することにより、JSONデータを扱い、またPDFファイルを生成または操作するためのシームレスな方法を提供します。これにより、動的レポート生成、フォーム記入、データ交換などのタスクが容易になります。
.NETでJSONファイルを読み書きするにはどうすればいいですか?
JSONファイルを読み取るには、File.ReadAllTextを使用してJSON文字列を読み込み、それをJsonConvert.DeserializeObjectで解析します。JSONを書き込むためには、オブジェクトをJsonConvert.SerializeObjectを使用してシリアライズし、File.WriteAllTextで保存します。








