フッターコンテンツにスキップ
.NETヘルプ

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;
$vbLabelText   $csharpLabel

Newtonsoft.JSON を使用した JSON の解析

JSON の解析は基本的に JSON 形式の文字列を使用できるデータ構造に変換するプロセスです。 Newtonsoft.Json を使用すると、このプロセスは簡単です。

人のためのサンプル JSON オブジェクトを見てみましょう。

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

JsonConvert.DeserializeObject<t>() メソッドを使用して、この 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);
$vbLabelText   $csharpLabel

これで、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);
$vbLabelText   $csharpLabel

オブジェクトを 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);
$vbLabelText   $csharpLabel

配列を扱う

場合によっては、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);
}
$vbLabelText   $csharpLabel

注: jsonObject は、JSON から初期化された実際の JObject に置き換える必要があります。

JSON の修正と作成

Newtonsoft.Json は JSON の修正と作成を簡単にします。 たとえば、Person オブジェクトの Age 値を更新する必要があるとします。

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

そして、それを文字列に戻して書き込みます。

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
$vbLabelText   $csharpLabel

注: 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);
}
$vbLabelText   $csharpLabel

注: 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");
    }
}
$vbLabelText   $csharpLabel

JSON データがあり、そのデータから PDF レポートを作成する必要があるという要件を仮定します。 JSON データの解析には Newtonsoft.Json を、PDF の作成には IronPDF を使用できます。 これを行う方法を見てみましょう。

IronPDF のインストール

Newtonsoft.Json と同様に、IronPDF も NuGet を通じて利用可能です。 次のコマンドを使用してインストールできます。

Install-Package IronPdf

そして、次のコードを追加してプロジェクトに含めることができます。

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

ユースケース 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);
$vbLabelText   $csharpLabel

このコードを実行すると、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>";
$vbLabelText   $csharpLabel

最後に、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");
$vbLabelText   $csharpLabel

Newtonsoft Jsonpath (開発者向けの仕組み): 図 1

ユースケース 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);
$vbLabelText   $csharpLabel

このソフトウェアは、キー"City"とそれに対応する値を持つ person という辞書を作成します。

次に、IronPdf を使用して PDF ドキュメントを開き、フォームを取得します。

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

これで、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"];
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"];
$vbLabelText   $csharpLabel

各フォームフィールドは、person's 辞書のキーに関連付けられています。

最後に、記入済みの PDF フォームを保存します。

doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf");
$vbLabelText   $csharpLabel

このメソッドは、JSONファイルからのデータでフォームフィールドに記入された新しいPDF文書を作成します。

これは、Newtonsoft.Json を使用して JSON データを解析し、 IronPDF を使用して PDF ドキュメントを効果的に操作する方法を示しています。

Newtonsoft Jsonpath (開発者向けの仕組み): 図 2

ユースケース 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;
$vbLabelText   $csharpLabel

次に、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);
$vbLabelText   $csharpLabel

このコードでは、metadata オブジェクトに、CreateDate などのプロパティが含まれています。これらは JSON 文字列にシリアル化され、"metadata.json"という名前のファイルに書き込まれます。

Newtonsoft Jsonpath (開発者向けの仕組み): 図 3

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をインストールする方法は?

あなた for .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で保存します。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me