Newtonsoft Jsonpath (Comment ça fonctionne pour les développeurs)
Si vous avez déjà travaillé avec des données JSON dans .NET, vous êtes probablement tombé sur la bibliothèque Newtonsoft.Json, un framework JSON haute performance populaire pour .NET. Ce tutoriel vise à aider les débutants et les utilisateurs intermédiaires à comprendre et à utiliser efficacement cette bibliothèque puissante, en se concentrant sur ses références système, sa documentation et les mises à jour de version pertinentes.
Commencer
Pour commencer à utiliser Newtonsoft.Json, vous devez d'abord l'installer dans votre projet .NET. Cela peut être fait via NuGet, le Package Manager .NET. Dans la console du Package Manager NuGet, tapez :
Install-Package Newtonsoft.Json
Après l'installation réussie, ajoutez la bibliothèque à votre projet .NET en ajoutant l'instruction using suivante :
using Newtonsoft.Json;
using Newtonsoft.Json;
Imports Newtonsoft.Json
Analyse JSON avec Newtonsoft.JSON
Analyser JSON est essentiellement le processus de conversion d'une chaîne au format JSON en une structure de données utilisable dans votre application .NET. Avec Newtonsoft.Json, le processus est simple.
Jetons un œil à un objet JSON exemple pour une personne :
{
"Name": "Iron Developer",
"Age": 30,
"Email": "irondeveloper@ironsoftware.com"
}
Nous pouvons analyser cette chaîne JSON en un objet C# en utilisant la méthode JsonConvert.DeserializeObject<t>() où T est le type de l'objet que nous voulons créer. Dans ce cas, nous allons créer une classe Person et analyser le JSON dans celle-ci.
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)
L'objet person contiendra désormais les valeurs de la chaîne JSON.
Travailler avec des fichiers JSON
Il vous arrivera souvent de devoir lire ou écrire des données JSON depuis ou vers un fichier. Voyons comment nous pouvons le faire avec Newtonsoft.Json. Nous utiliserons la classe File de l'espace de noms System.IO dans ce cas.
Pour lire un fichier JSON et l'analyser en un objet :
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)
Pour écrire un objet dans un fichier 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)
Travailler avec des tableaux
Dans certains cas, votre JSON inclura des tableaux. Par exemple, un objet Person peut contenir un tableau de Friends :
{
"Name": "John Doe",
"Friends": [
{
"Name": "Jane Doe",
"Age": 28
},
{
"Name": "Billy",
"Age": 25
}
]
}
Vous pouvez utiliser la boucle foreach pour parcourir le tableau 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]
Remarque : jsonObject doit être remplacé par un JObject réel initialisé à partir du JSON.
Modifier et écrire JSON
Newtonsoft.Json facilite la modification et l'écriture de JSON. Supposons que vous deviez mettre à jour la valeur Age de notre objet Person.
jsonObject["Age"] = 31; // Update the age
jsonObject["Age"] = 31; // Update the age
jsonObject("Age") = 31 ' Update the age
Et ensuite le réécrire en une chaîne :
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
Remarque : jsonObject doit être remplacé par un JObject réel initialisé à partir du JSON.
LINQ to JSON
Newtonsoft.Json offre également des fonctionnalités pour interroger et manipuler des objets JSON en utilisant LINQ (Language Integrated Query). C'est très puissant car cela vous permet d'utiliser tous les opérateurs LINQ standards pour interroger un objet JSON tout comme vous le feriez avec XML ou une collection d'objets.
Voici un exemple montrant comment vous pouvez récupérer les noms de tous les Friends de moins de 30 ans :
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
Remarque : jsonObject doit être remplacé par un JObject réel initialisé à partir du JSON.
Introduction à IronPDF
IronPDF est une bibliothèque populaire dans l'écosystème .NET qui permet aux développeurs de créer, éditer et extraire des données de fichiers PDF. Il est incroyablement polyvalent et fonctionne parfaitement avec d'autres bibliothèques, y compris Newtonsoft.Json.
IronPDF excelle dans la conversion HTML en PDF, garantissant une préservation précise des mises en page et styles originaux. Il est parfait pour créer des PDF à partir de contenus basés sur le Web tels que des rapports, des factures et de la documentation. Avec le support des fichiers HTML, des URLs et des chaînes HTML brutes, IronPDF produit facilement des documents PDF de haute qualité.
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 Class
Supposons que nous ayons une exigence où nous avons des données JSON et que nous souhaitons créer un rapport PDF à partir de ces données. Nous pouvons utiliser Newtonsoft.Json pour analyser les données JSON et IronPDF pour créer le PDF. Voyons comment nous pouvons procéder.
Installation d'IronPDF
Comme Newtonsoft.Json, IronPDF est également disponible via NuGet. Vous pouvez l'installer en utilisant la commande suivante :
Install-Package IronPdf
Ensuite, vous pouvez l'inclure dans votre projet en ajoutant :
using IronPdf;
using IronPdf;
Imports IronPdf
Cas d'utilisation 1 : Création de PDF à partir de données JSON
Dans ce cas d'utilisation, nous allons démontrer comment utiliser Newtonsoft.Json et IronPDF pour générer un rapport PDF à partir de données JSON. Cela pourrait être particulièrement utile pour les applications qui créent des rapports dynamiques basés sur des données stockées dans un format JSON.
Voici un fichier JSON exemple avec lequel nous allons travailler :
{
"Title": "Sales Report",
"Month": "August",
"Year": "2023",
"TotalSales": "10000",
"ItemsSold": "500"
}
Ces données JSON représentent un simple rapport de ventes.
La première étape consiste à lire le fichier JSON, nommé 'data.json' ici, et à l'analyser dans un dictionnaire en utilisant 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)
Après avoir exécuté ce code, vous obtiendrez un dictionnaire appelé reportData contenant des paires clé-valeur représentant les propriétés et leurs valeurs dans le fichier JSON.
Ensuite, nous générons un modèle HTML en utilisant les données de reportData. Les clés du dictionnaire reportData sont utilisées pour insérer les valeurs appropriées dans le code 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>"
Enfin, nous utilisons IronPDF pour convertir le code HTML en document PDF. Nous utilisons ChromePdfRenderer pour créer un moteur de rendu PDF, l'utiliser pour convertir le HTML en PDF, puis enregistrer le 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")

Cas d'utilisation 2 : JSON vers formulaire PDF
Dans ce cas d'utilisation, nous allons lire des données JSON pour remplir des champs de formulaire dans un document PDF. Pour cet exemple, considérons que nous avons les données JSON suivantes :
{
"FirstName": "John",
"LastName": "Smith",
"PhoneNumber": "+19159969739",
"Email": "John@email.com",
"City": "Chicago"
}
Ces données JSON représentent des informations personnelles pour une personne.
Tout d'abord, nous utilisons Newtonsoft.Json pour lire les données JSON du fichier et les analyser dans un dictionnaire :
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)
Ce logiciel crée un dictionnaire appelé person avec les clés "FirstName", "LastName", "PhoneNumber", "Email", et "City" et leurs valeurs correspondantes.
Ensuite, nous ouvrons le document PDF en utilisant IronPdf et obtenons le formulaire :
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
Nous pouvons maintenant utiliser le dictionnaire person pour remplir les champs du formulaire dans le document 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")
Chaque champ de formulaire est associé à une clé du dictionnaire de la personne.
Enfin, nous sauvegardons le formulaire PDF rempli :
doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf");
doc.SaveAs("myPdfForm_filled.pdf")
Cette méthode va créer un nouveau document PDF avec les champs de formulaire remplis avec les données du fichier JSON.
Ceci démontre comment vous pouvez utiliser efficacement Newtonsoft.Json pour analyser des données JSON et IronPDF pour manipuler des documents PDF.

Cas d'utilisation 3 : Métadonnées PDF vers JSON
Tout d'abord, utilisez IronPDF pour extraire les métadonnées du 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
Ensuite, sérialisez ces données en une chaîne JSON en utilisant Newtonsoft.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)
Dans ce code, l'objet metadata contient des propriétés comme Author, Title, CreateDate, etc. Celles-ci sont sérialisées dans une chaîne JSON et écrites dans un fichier nommé " metadata.json ".

Combiner Newtonsoft.Json et IronPDF vous permet de convertir les données entre les fichiers PDF et JSON, répondant à une large gamme de cas d'utilisation.
Conclusion
Pour conclure, Newtonsoft.Json et IronPDF ensemble fournissent une solution puissante et flexible pour gérer les données JSON et générer des fichiers PDF dans .NET. En analysant les données JSON en objets .NET ou en dictionnaires avec Newtonsoft.Json, nous pouvons manipuler ces données et les utiliser dans divers contextes, comme remplir des formulaires PDF ou générer des rapports PDF dynamiques à partir de modèles. IronPDF rend le processus de création et de gestion des PDF simple et efficace.
Cet article a présenté les bibliothèques, mettant en lumière quelques-unes de leurs fonctionnalités de base. Cependant, les deux bibliothèques ont beaucoup plus à offrir. Nous recommandons fortement de consulter leur documentation détaillée pour une immersion dans leurs fonctionnalités et capacités.
Si vous êtes intéressé à essayer IronPDF, ils offrent une version d'essai gratuite d'IronPDF pour que vous puissiez explorer ses fonctionnalités et évaluer si elle répond à vos besoins avant d'acheter. Une fois que vous décidez de continuer avec IronPDF, les licences commencent à partir des options de licence IronPDF, qui incluent un accès continu à toutes les fonctionnalités discutées, ainsi que le support et les mises à jour. Cela garantit que vous disposez des outils et de l'assistance pour générer, gérer et manipuler efficacement des fichiers PDF dans vos projets .NET.
Questions Fréquemment Posées
Comment installer Newtonsoft.Json pour travailler avec JSON en .NET ?
Vous pouvez installer la bibliothèque Newtonsoft.Json dans votre projet .NET en utilisant le gestionnaire de packages NuGet. Exécutez la commande Install-Package Newtonsoft.Json dans la console du gestionnaire de packages. Une fois installée, incluez-la dans votre projet avec using Newtonsoft.Json;.
À quoi sert JsonConvert.DeserializeObject() ?
La méthode JsonConvert.DeserializeObject() est utilisée pour convertir des données JSON en objets .NET. Elle transforme des chaînes JSON en objets de type T, vous permettant de travailler avec les données JSON dans vos applications C#.
Comment puis-je manipuler les données JSON en utilisant LINQ ?
LINQ to JSON est une fonctionnalité fournie par Newtonsoft.Json, vous permettant d'interroger et de manipuler des objets JSON en utilisant la syntaxe LINQ. Cela est utile pour filtrer ou rechercher efficacement des données JSON dans vos applications .NET.
Comment générer un rapport PDF à partir de données JSON ?
Pour générer un rapport PDF à partir de données JSON, commencez par convertir le JSON en objets .NET en utilisant Newtonsoft.Json. Ensuite, créez un modèle HTML en utilisant ces données. Utilisez le ChromePdfRenderer d'IronPDF pour convertir le modèle HTML en un document PDF.
Puis-je remplir des formulaires PDF avec des données JSON ?
Oui, vous pouvez remplir des formulaires PDF avec des données JSON en analysant le JSON en un dictionnaire à l'aide de Newtonsoft.Json, puis en remplissant les champs du formulaire PDF avec ces données à l'aide d'IronPDF, avant de sauvegarder le document PDF rempli.
Comment puis-je convertir les métadonnées d'un PDF en JSON ?
Extrayez les métadonnées d'un PDF en using IronPDF et convertissez-les en chaîne JSON en utilisant Newtonsoft.Json. Ce processus vous permet de stocker et de manipuler facilement les métadonnées PDF au format JSON.
Quels sont les avantages d'utiliser Newtonsoft.Json et IronPDF ensemble ?
L'utilisation de Newtonsoft.Json avec IronPDF dans une application .NET offre un moyen transparent de gérer les données JSON et de générer ou manipuler des fichiers PDF, facilitant des tâches telles que la génération de rapports dynamiques, le remplissage de formulaires et l'échange de données.
Comment lire et écrire des fichiers JSON en .NET ?
Pour lire un fichier JSON, utilisez File.ReadAllText pour charger la chaîne JSON, puis analysez-la avec JsonConvert.DeserializeObject. Pour écrire du JSON, sérialisez un objet en utilisant JsonConvert.SerializeObject et enregistrez-le avec File.WriteAllText.




