<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Newtonsoft.Json &#8211; FoxDevelop</title>
	<atom:link href="https://www.foxdevelop.com/fr/category/c-fr/bibliotheque-c/newtonsoft-json-fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.foxdevelop.com</link>
	<description>Studio de développement logiciel indépendant</description>
	<lastBuildDate>Fri, 14 Aug 2026 02:15:19 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://www.foxdevelop.com/wp-content/uploads/2026/05/fox-svgrepo-com-1.png</url>
	<title>Newtonsoft.Json &#8211; FoxDevelop</title>
	<link>https://www.foxdevelop.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sérialisation et désérialisation de tableaux</title>
		<link>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation-de-tableaux/</link>
					<comments>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation-de-tableaux/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2026 02:15:19 +0000</pubDate>
				<category><![CDATA[Newtonsoft.Json]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=8403</guid>

					<description><![CDATA[Exemple Remarques ① Sérialiser une List en chaîne tableau JSON ② Désérialiser une chaîne tableau JSON en List Sérialisation et désérialisation de tableaux]]></description>
										<content:encoded><![CDATA[<!-- Français -->

<ul class="wp-block-list">

<li>Comme dans la section précédente</li>


<li>Nous pouvons convertir une chaîne JSON en tableau</li>


<li>Il suffit de remplacer le nom de classe original par <code>List&lt;NomClasse></code></li>

</ul>



<h4 class="wp-block-heading">Exemple</h4>


<pre class="wp-block-code"><span><code class="hljs language-php">string jsonString = @<span class="hljs-string">""</span><span class="hljs-string">"{"</span><span class="hljs-string">"webinfos"</span><span class="hljs-string">":&#91;{"</span><span class="hljs-string">"webname"</span><span class="hljs-string">":"</span><span class="hljs-string">"FoxDevelop"</span><span class="hljs-string">","</span><span class="hljs-string">"website"</span><span class="hljs-string">":"</span><span class="hljs-string">"foxdevelop.com"</span><span class="hljs-string">","</span><span class="hljs-string">"age"</span><span class="hljs-string">":4,
"</span><span class="hljs-string">"students"</span><span class="hljs-string">":&#91;{"</span><span class="hljs-string">"name"</span><span class="hljs-string">":"</span><span class="hljs-string">"Lucas"</span><span class="hljs-string">"},{"</span><span class="hljs-string">"name"</span><span class="hljs-string">":"</span><span class="hljs-string">"Hugo"</span><span class="hljs-string">"}]},{"</span><span class="hljs-string">"webname"</span><span class="hljs-string">":"</span><span class="hljs-string">"FoxDevelop1"</span><span class="hljs-string">","</span><span class="hljs-string">"website"</span><span class="hljs-string">":"</span><span class="hljs-string">"foxdevelop.com1"</span><span class="hljs-string">",
"</span><span class="hljs-string">"age"</span><span class="hljs-string">":6,"</span><span class="hljs-string">"students"</span><span class="hljs-string">":&#91;{"</span><span class="hljs-string">"name"</span><span class="hljs-string">":"</span><span class="hljs-string">"Léo"</span><span class="hljs-string">"},{"</span><span class="hljs-string">"name"</span><span class="hljs-string">":"</span><span class="hljs-string">"Gabriel"</span><span class="hljs-string">"}]}]}"</span><span class="hljs-string">""</span>;

StringReader sr = <span class="hljs-keyword">new</span> StringReader(jsonString);
JsonReader jr = <span class="hljs-keyword">new</span> JsonReader(sr);
<span class="hljs-keyword">List</span>&lt;WebInfo&gt; infoList = <span class="hljs-keyword">new</span> JsonSerializer().Deserialize(jr, typeof(<span class="hljs-keyword">List</span>&lt;WebInfo&gt;)) <span class="hljs-keyword">as</span> <span class="hljs-keyword">List</span>&lt;WebInfo&gt;;</code></span></pre>


<h4 class="wp-block-heading">Remarques</h4>



<p class="wp-block-paragraph"></p>



<ol class="wp-block-list">

<li><strong>Conserver structure, noms de variables, guillemets échappés et sauts de ligne, ne remplacer que le texte cible</strong></li>


<li>Ne pas modifier le code de désérialisation suivant</li>

</ol>



<h4 class="wp-block-heading">① Sérialiser une List en chaîne tableau JSON</h4>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">// Construire la collection List</span>
<span class="hljs-keyword">List</span>&lt;WebInfo&gt; webList = <span class="hljs-keyword">new</span> <span class="hljs-keyword">List</span>&lt;WebInfo&gt;()
{
    <span class="hljs-keyword">new</span> WebInfo()
    {
        age = <span class="hljs-number">4</span>,
        webname = <span class="hljs-string">"FoxDevelop"</span>,
        website = <span class="hljs-string">"foxdevelop.com"</span>,
        students = <span class="hljs-keyword">new</span> Person&#91;] { <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Lucas"</span>}, <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Hugo"</span>} }
    },
    <span class="hljs-keyword">new</span> WebInfo()
    {
        age = <span class="hljs-number">4</span>,
        webname = <span class="hljs-string">"FoxDevelop1"</span>,
        website = <span class="hljs-string">"foxdevelop.com"</span>,
        students = <span class="hljs-keyword">new</span> Person&#91;] { <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Léo"</span>}, <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Gabriel"</span>} }
    },
    <span class="hljs-keyword">new</span> WebInfo()
    {
        age = <span class="hljs-number">4</span>,
        webname = <span class="hljs-string">"FoxDevelop2"</span>,
        website = <span class="hljs-string">"foxdevelop.com"</span>,
        students = <span class="hljs-keyword">new</span> Person&#91;] { <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Arthur"</span>}, <span class="hljs-keyword">new</span> Person{name=<span class="hljs-string">"Mathis"</span>} }
    }
};

<span class="hljs-comment">// Sérialisation : Objet List → chaîne tableau JSON</span>
StringWriter sw = <span class="hljs-keyword">new</span> StringWriter();
JsonWriter writer = <span class="hljs-keyword">new</span> JsonWriter(sw);
<span class="hljs-keyword">new</span> JsonSerializer().Serialize(writer, webList);
string jsonArrStr = sw.GetStringBuilder().ToString();</code></span></pre>


<h4 class="wp-block-heading">② Désérialiser une chaîne tableau JSON en List</h4>


<pre class="wp-block-code"><span><code class="hljs language-php">string jsonString = @<span class="hljs-string">"&#91;{"</span>webname<span class="hljs-string">":"</span>FoxDevelop<span class="hljs-string">","</span>website<span class="hljs-string">":"</span>foxdevelop.com<span class="hljs-string">","</span>age<span class="hljs-string">":4,
"</span>students<span class="hljs-string">":&#91;{"</span>name<span class="hljs-string">":"</span>Lucas<span class="hljs-string">"},{"</span>name<span class="hljs-string">":"</span>Hugo<span class="hljs-string">"}]},{"</span>webname<span class="hljs-string">":"</span>FoxDevelop1<span class="hljs-string">","</span>website<span class="hljs-string">":"</span>foxdevelop.com<span class="hljs-string">",
"</span>age<span class="hljs-string">":4,"</span>students<span class="hljs-string">":&#91;{"</span>name<span class="hljs-string">":"</span>Léo<span class="hljs-string">"},{"</span>name<span class="hljs-string">":"</span>Gabriel<span class="hljs-string">"}]},{"</span>webname<span class="hljs-string">":"</span>FoxDevelop2<span class="hljs-string">","</span>website<span class="hljs-string">":"</span>foxdevelop.com<span class="hljs-string">",
"</span>age<span class="hljs-string">":4,"</span>students<span class="hljs-string">":&#91;{"</span>name<span class="hljs-string">":"</span>Arthur<span class="hljs-string">"},{"</span>name<span class="hljs-string">":"</span>Mathis<span class="hljs-string">"}]}]"</span>;

StringReader sr = <span class="hljs-keyword">new</span> StringReader(jsonString);
JsonReader jr = <span class="hljs-keyword">new</span> JsonTextReader(sr);
<span class="hljs-keyword">List</span>&lt;WebInfo&gt; dataList = <span class="hljs-keyword">new</span> JsonSerializer().Deserialize(jr, typeof(<span class="hljs-keyword">List</span>&lt;WebInfo&gt;)) <span class="hljs-keyword">as</span> <span class="hljs-keyword">List</span>&lt;WebInfo&gt;;</code></span></pre>


<p class="wp-block-paragraph">Sérialisation et désérialisation de tableaux</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation-de-tableaux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sérialisation et désérialisation</title>
		<link>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation/</link>
					<comments>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2026 02:10:07 +0000</pubDate>
				<category><![CDATA[Newtonsoft.Json]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=8387</guid>

					<description><![CDATA[Revenons sur la sérialisation vue au chapitre précédent : elle convertit un objet entité en chaîne JSON. Sérialisation Résultat JSON généré Désérialisation Transformer une chaîne JSON en objet entité Méthode 1 (écriture ...]]></description>
										<content:encoded><![CDATA[<!-- Français -->

<p class="wp-block-paragraph">Revenons sur la sérialisation vue au chapitre précédent : elle convertit un objet entité en chaîne JSON.</p>



<h4 class="wp-block-heading">Sérialisation</h4>


<pre class="wp-block-code"><span><code class="hljs language-javascript">WebInfo webInfo = <span class="hljs-keyword">new</span> WebInfo();
webInfo.age = <span class="hljs-number">4</span>;
webInfo.webname = <span class="hljs-string">"FoxDevelop"</span>;
webInfo.website = <span class="hljs-string">"foxdevelop.com"</span>;
webInfo.students = <span class="hljs-keyword">new</span> Person&#91;] { <span class="hljs-keyword">new</span> Person { name = <span class="hljs-string">"Tom"</span> }, <span class="hljs-keyword">new</span> Person { name = <span class="hljs-string">"Jim"</span> } };
<span class="hljs-comment">// Convertir l’objet webinfo en chaîne JSON</span>
StringWriter sw = <span class="hljs-keyword">new</span> StringWriter();
JsonWriter writer = <span class="hljs-keyword">new</span> JsonWriter(sw);
<span class="hljs-keyword">new</span> JsonSerializer().Serialize(writer, webInfo);
string json = sw.GetStringBuilder().ToString();</code></span></pre>


<h5 class="wp-block-heading">Résultat JSON généré</h5>


<pre class="wp-block-code"><span><code class="hljs language-json">{<span class="hljs-attr">"webname"</span>:<span class="hljs-string">"FoxDevelop"</span>,<span class="hljs-attr">"website"</span>:<span class="hljs-string">"foxdevelop.com"</span>,<span class="hljs-attr">"age"</span>:<span class="hljs-number">4</span>,<span class="hljs-attr">"students"</span>:&#91;{<span class="hljs-attr">"name"</span>:<span class="hljs-string">"Zhang San"</span>},{<span class="hljs-attr">"name"</span>:<span class="hljs-string">"Li Si"</span>}]}</code></span></pre>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Désérialisation</h3>



<p class="wp-block-paragraph">Transformer une chaîne JSON en objet entité</p>



<p class="wp-block-paragraph">Méthode 1 (écriture bas‑niveau avec Reader)</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">WebInfo model = <span class="hljs-keyword">new</span> JsonSerializer()
    .Deserialize(<span class="hljs-keyword">new</span> JsonTextReader(<span class="hljs-keyword">new</span> StringReader(json)), <span class="hljs-keyword">typeof</span>(WebInfo)) <span class="hljs-keyword">as</span> WebInfo;</code></span></pre>


<p class="wp-block-paragraph">Méthode 2 (syntaxe générique concise, Newtonsoft.Json)</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">WebInfo model = JavaScriptConvert.DeserializeObject<span class="hljs-tag">&lt;<span class="hljs-name">WebInfo</span>&gt;</span>(json);</code></span></pre>


<p class="wp-block-paragraph">new JsonSerializer().Deserialize(new JsonTextReader(new StringReader(jsonString)), typeof(NomClasse) as NomClasse</p>



<p class="wp-block-paragraph">Grâce à ces méthodes, on peut désérialiser un JSON vers un objet entité.</p>



<p class="wp-block-paragraph">Autre forme d’appel</p>



<p class="wp-block-paragraph">JavaScriptConvert.DeserializeObject&lt;NodeInfo&gt;(jsonText)</p>



<p class="wp-block-paragraph">Sérialisation et désérialisation</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/fr/2026/08/14/serialisation-et-deserialisation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Présentation</title>
		<link>https://www.foxdevelop.com/fr/2026/08/14/presentation-5/</link>
					<comments>https://www.foxdevelop.com/fr/2026/08/14/presentation-5/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2026 01:58:55 +0000</pubDate>
				<category><![CDATA[Newtonsoft.Json]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=8371</guid>

					<description><![CDATA[1. Présentation de Newtonsoft.Json Newtonsoft.Json (communément appelé Json.NET) est une bibliothèque open source de sérialisation‑désérialisation JSON pour l’écosystème .NET 2. Qu’est‑ce que JSON JSON（JavaScript Object Notation） II. Définition des classes ...]]></description>
										<content:encoded><![CDATA[
<h4 class="wp-block-heading">1. Présentation de Newtonsoft.Json</h4>



<p class="wp-block-paragraph">Newtonsoft.Json (communément appelé Json.NET) est une <strong>bibliothèque open source de sérialisation‑désérialisation JSON pour l’écosystème .NET</strong></p>



<ul class="wp-block-list">
<li>Première version Json.NET 1.0.1 sortie en 2006, les versions majeures dépassent aujourd’hui la version 10</li>



<li>Initialement compatible avec .NET 2.0, fonctionne avec quasiment tous les frameworks .NET (Framework/.NET Core/.NET 5+)</li>



<li>Assembly : <code>Newtonsoft.Json.dll</code>, installez‑le via NuGet</li>



<li>Le code source était hébergé sur CodePlex, il est maintenant migré sur GitHub, très utilisé dans de nombreux projets d’entreprise</li>
</ul>



<h4 class="wp-block-heading">2. Qu’est‑ce que JSON</h4>



<p class="wp-block-paragraph"><strong>JSON（JavaScript Object Notation）</strong></p>



<ul class="wp-block-list">
<li>Format d’échange de données textuel léger et <strong>indépendant des langages</strong>, il n’est pas exclusif à JavaScript</li>



<li>Structure de base : paire clé‑valeur <code>key:value</code> ; prend en charge les objets imbriqués <code>{}</code> et les tableaux <code>[]</code></li>
</ul>


<pre class="wp-block-code"><span><code class="hljs language-cs">{<span class="hljs-string">"webname"</span>:<span class="hljs-string">"FoxDevelop"</span>,<span class="hljs-string">"website"</span>:<span class="hljs-string">"foxdevelop.com"</span>,<span class="hljs-string">"age"</span>:<span class="hljs-number">4</span>,<span class="hljs-string">"students"</span>:&#91;{<span class="hljs-string">"name"</span>:<span class="hljs-string">"tom"</span>},{<span class="hljs-string">"name"</span>:<span class="hljs-string">"bill"</span>}]}</code></span></pre>


<h4 class="wp-block-heading">II. Définition des classes d’entité (correspondance avec la structure JSON)</h4>



<h5 class="wp-block-heading">Person.cs (objet étudiant)</h5>


<pre class="wp-block-code"><span><code class="hljs language-cs"><span class="hljs-keyword">namespace</span> <span class="hljs-title">NewtonsoftDemo</span>
{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Person</span>
    {
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> name { <span class="hljs-keyword">set</span>; <span class="hljs-keyword">get</span>; }
    }
}</code></span></pre>


<h5 class="wp-block-heading">WebInfo.cs (objet racine)</h5>


<pre class="wp-block-code"><span><code class="hljs language-cs"><span class="hljs-keyword">namespace</span> <span class="hljs-title">NewtonsoftDemo</span>
{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">WebInfo</span>
    {
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> webname { <span class="hljs-keyword">set</span>; <span class="hljs-keyword">get</span>; }
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> website { <span class="hljs-keyword">set</span>; <span class="hljs-keyword">get</span>; }
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> age { <span class="hljs-keyword">set</span>; <span class="hljs-keyword">get</span>; }
        <span class="hljs-keyword">public</span> Person&#91;] students { <span class="hljs-keyword">set</span>; <span class="hljs-keyword">get</span>; }
    }
}</code></span></pre>


<h4 class="wp-block-heading">Exemple‑Sérialiser un objet en JSON</h4>


<pre class="wp-block-code"><span><code class="hljs language-cs"><span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Page_Load</span>(<span class="hljs-params"><span class="hljs-keyword">object</span> sender, EventArgs e</span>)</span>
{
    <span class="hljs-comment">// 1. Instancier l’entité et affecter les valeurs</span>
    WebInfo webInfo = <span class="hljs-keyword">new</span> WebInfo();
    webInfo.age = <span class="hljs-number">4</span>;
    webInfo.webname = <span class="hljs-string">"FoxDevelop"</span>;
    webInfo.website = <span class="hljs-string">"foxdevelop.com"</span>;
    webInfo.students = <span class="hljs-keyword">new</span> Person&#91;] 
    { 
        <span class="hljs-keyword">new</span> Person { name = <span class="hljs-string">"TOM"</span> },
        <span class="hljs-keyword">new</span> Person { name = <span class="hljs-string">"JACK"</span> } 
    };

    <span class="hljs-comment">// 2. Écriture bas niveau Newtonsoft.Json : sérialisation avec JsonWriter</span>
    StringWriter sw = <span class="hljs-keyword">new</span> StringWriter();
    JsonWriter writer = <span class="hljs-keyword">new</span> JsonWriter(sw);
    <span class="hljs-keyword">new</span> JsonSerializer().Serialize(writer, webInfo);
    <span class="hljs-keyword">string</span> json = sw.GetStringBuilder().ToString();
}</code></span></pre>


<h4 class="wp-block-heading">Syntaxe simplifiée pour un usage quotidien</h4>



<p class="wp-block-paragraph">Newtonsoft.Json propose des méthodes statiques utilitaires, inutile d’instancier manuellement <code>JsonWriter</code> :</p>


<pre class="wp-block-code"><span><code class="hljs language-cs"><span class="hljs-comment">// Sérialisation en une ligne, très utilisée en développement</span>
<span class="hljs-keyword">string</span> json = JsonConvert.SerializeObject(webInfo);</code></span></pre>


<h4 class="wp-block-heading">Résultat JSON de sortie</h4>


<pre class="wp-block-code"><span><code class="hljs language-cs">{
  <span class="hljs-string">"webname"</span>: <span class="hljs-string">"FoxDevelop"</span>,
  <span class="hljs-string">"website"</span>: <span class="hljs-string">"foxdevelop.com"</span>,
  <span class="hljs-string">"age"</span>: <span class="hljs-string">"4"</span>,
  <span class="hljs-string">"students"</span>: &#91;
    {<span class="hljs-string">"name"</span>:<span class="hljs-string">"TOM"</span>},
    {<span class="hljs-string">"name"</span>:<span class="hljs-string">"JACK"</span>}
  ]
}</code></span></pre>


<h4 class="wp-block-heading">Autres points</h4>



<ul class="wp-block-list">
<li><strong>System.Text.Json</strong> : bibliothèque JSON intégrée Microsoft depuis .NET Core 3.0 ; Newtonsoft.Json reste très répandu sur les anciens projets .NET Framework</li>



<li>Fonctionnalités : alias de propriétés, exclusion de champs, formatage des dates, gestion des références circulaires et autres fonctions avancées</li>
</ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Présentation</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/fr/2026/08/14/presentation-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
