ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
.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.Json
Newtonsoft.JSON
によるJSONの解析JSON解析とは、本質的にJSON形式の文字列を.NETアプリケーションで使用可能なデータ構造に変換するプロセスを指します。 Newtonsoft.Jsonを使用すると、そのプロセスは簡単です。
人物のサンプルJSONオブジェクトを見てみましょう:
{
"Name": "Iron Developer",
"Age": 30,
"Email": "irondeveloper@ironsoftware.com"
}
このJSON文字列をC#オブジェクトに解析するには、JsonConvert.DeserializeObject
を使用できます。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データを読み書きする必要がある場合がよくあります。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
}
]
}
JSON配列を繰り返して処理するには、foreach
ループを使用できます。
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]
Newtonsoft.Jsonは、JSONの変更と作成を簡単にします。 Person
オブジェクトのAge
値を更新する必要があるとしましょう。
jsonObject ["Age"] = 31; // update the age
jsonObject ["Age"] = 31; // update the age
jsonObject ("Age") = 31 ' update the age
そして、それを文字列に書き戻す:
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
Dim updatedJson As String = jsonObject.ToString()
File.WriteAllText(path, updatedJson) ' write back to the file
JSONデータを扱うための技術として、LINQ to JSONを使用すると便利です。IronPDF for .NETやIronOCR for .NETなどのツールを利用する際、JSONのクエリや操作を行うことが多くなります。LINQ to JSONは、C#言語でJSONデータに対してクエリを実行するための方法を提供し、簡潔かつ効率的にデータを操作することができます。
LINQ (Language Integrated Query) は、.NET環境に統合されたクエリ記述のための機能であり、XMLやSQLに代わって、JSON形式のデータを処理するのにも適しています。これにより、開発者は一貫したクエリスタイルを保ちながら、異なるデータソースにアクセスできます。
Iron SoftwareのIron PDFやIronOCRなどでこの技術を活用すれば、データのフィルタリング、集計、変換がより容易になります。JSONデータの効率的な管理と操作が求められる場合、LINQ to JSONは非常に有用なツールとなります。
Newtonsoft.Jsonは、LINQを使用してJSONオブジェクトをクエリおよび操作する機能も提供します。(言語統合クエリ (Language Integrated Query)). これにより、XMLやオブジェクトのコレクションと同様に、標準のLINQオペレーターを使用して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
IronPDFについて学ぶ.NETエコシステムで人気のあるライブラリで、開発者がPDFファイルからのデータの作成、編集、抽出. それは非常に多用途で、Newtonsoft.Jsonを含む他のライブラリとも相性が良いです。
仮に、JSONデータがあり、そのデータからPDFレポートを作成する必要があると仮定しましょう。 JSONデータの解析にはNewtonsoft.Jsonを使用し、PDFの作成にはIronPDFを使用できます。 では、これをやってみましょう。
Newtonsoft.Jsonのように、IronPDFもNuGetを通じて利用可能です。 次のコマンドを使用してインストールできます:
Install-Package IronPdf
次に、以下をプロジェクトに追加して含めることができます:
using IronPdf;
using IronPdf;
Imports IronPdf
このユースケースに関連して、Newtonsoft.JsonとIronPDFを使用してJSONデータからPDFレポートを生成する方法を示します。 これは、JSON形式で保存されたデータに基づいて動的レポートを作成するアプリケーションにとって特に有用です。
以下は、私たちが取り組むサンプルのJSONファイルです:
{
"Title": "Sales Report",
"Month": "August",
"Year": "2023",
"TotalSales": "10000",
"ItemsSold": "500"
}
このJSONデータは、簡単な販売レポートを表しています。
最初のステップは、'data.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")
このユースケースでは、PDFドキュメントのフォームフィールドに入力するためにJSONデータを読み込みます。 この例では、次の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.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"];
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 の辞書のキーと関連付けられています。
最後に、入力されたPDFフォームを保存します。
doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf")
このメソッドは、JSONファイルのデータでフォームフィールドが入力された新しいPDFドキュメントを作成します。
次のように Newtonsoft.Json
を使用してJSONデータを解析し、IronPDF を使用してPDFドキュメントを操作する方法を効果的に示します。
まず、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 は、.NET で JSON データの処理と PDF ファイルの生成を行うための強力かつ柔軟なソリューションを提供します。 Newtonsoft.Jsonを使用してJSONデータを.NETオブジェクトや辞書に解析することで、そのデータを操作し、PDFフォームの記入やテンプレートからの動的PDFレポートの生成など、さまざまなコンテキストで使用することができます。 IronPDFは、PDFの作成と管理のプロセスを簡単かつ効率的にします。
この記事では、ライブラリを紹介し、その主要機能のいくつかを強調しました。 しかし、両方のライブラリにはさらに多くの提供するものがあります。 その機能と能力について詳しく調べるために、豊富なドキュメントを確認することを強くお勧めします。
IronPDF に興味がある場合、彼らはIronPDFの無料トライアルそのため、購入前にその機能を調べ、ニーズに合っているかどうかを評価することができます。 IronPDFのライセンスは以下の通りです。IronPDFライセンシングオプションこの翻訳には、私たちが説明したすべての機能への継続的なアクセスと、サポートおよびアップデートが含まれます。 これにより、あなたの .NET プロジェクトで PDF ファイルを効果的に生成、管理、および操作するためのツールとサポートが確保されます。
9つの .NET API製品 オフィス文書用