Maison  >  Article  >  développement back-end  >  C# Créer un objet JSON

C# Créer un objet JSON

WBOY
WBOYoriginal
2024-09-03 15:31:12613parcourir

Avant de discuter de la façon de créer un objet JSON en C#, comprenons d'abord ce qu'est JSON. JSON signifie JavaScript Object Notation. Il s'agit d'un format de texte très léger utilisé pour échanger des données. JSON peut être exprimé dans trois styles, à savoir objet, tableau et chaîne. Ici, nous allons discuter de l'objet JSON. Un objet JSON commence par « { » et se termine par « } ». Les données de l'objet JSON sont stockées sous forme de paire clé-valeur où une clé et sa valeur sont séparées par deux points « : » et chaque paire clé-valeur est séparée par une virgule « »,.

Syntaxe :

La syntaxe pour créer du JSON à l'aide du package Newtonsoft est la suivante :

ClassName objectName = new ClassName();
string jsonStr = JsonConvert.SerializeObject(objectName);

Explication : Dans la syntaxe ci-dessus, nous avons d'abord créé l'objet de la classe pour laquelle nous avons besoin de données au format JSON, puis nous avons utilisé la méthode JsonConvert.Serialize() du package Newtonsoft et avons passé notre objet de classe comme un paramètre de cette méthode qui renvoie ensuite une chaîne JSON après avoir converti les données de l'objet en chaîne JSON.

Après cela, nous pouvons stocker ces données JSON dans un fichier en utilisant les instructions ci-dessous :

using(var streamWriter = new StreamWriter(filePath, true))
{
streamWriter.WriteLine(jsonStr.ToString());
streamWriter.Close();
}

Dans les instructions ci-dessus, nous avons créé un objet StreamWriter pour écrire des données JSON dans un fichier spécifié par l'emplacement « filePath ». Ensuite, à l'aide de cet objet, nous avons écrit les données JSON dans le fichier à l'aide de la méthode WriteLine().

Comment pouvons-nous créer un objet JSON en C# ?

En C#, nous pouvons créer des objets JSON de plusieurs manières, par exemple en utilisant une bibliothèque native .NET ou en utilisant des packages tiers.

Si nous voulons utiliser la bibliothèque native .NET pour créer un objet JSON, nous devons ajouter System. ServiceModel.Web comme référence à notre projet après cela, nous pourrons importer l'espace de noms System.Runtime.Serialization.Json dans notre code qui contient une classe appelée DataContractJsonSerializer qui est chargée de sérialiser les objets dans les données JSON et de désérialiser les données JSON. aux objets.

En dehors de cela, nous pouvons utiliser des packages tiers pour travailler avec JSON. Comme le package Newtonsoft.Json. Pour installer ce package et l'ajouter à notre projet, nous devons suivre les étapes ci-dessous dans Visual Studio :

  • Allez dans Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution.

C# Créer un objet JSON

  • Sous l'onglet « Parcourir », recherchez le package « Newtonsoft.Json » et sélectionnez-le parmi les résultats affichés, puis sélectionnez votre projet auquel vous souhaitez ajouter ce package.
  • Cliquez sur le bouton d'installation.

C# Créer un objet JSON

Après avoir suivi ces étapes, lorsque nous vérifierons les références de notre projet, nous y ajouterons « Newtonsoft.Json ».

Nous pouvons désormais importer l'espace de noms Newtonsoft.Json dans notre code qui contient une classe appelée JsonConvert qui fournit des méthodes de conversion entre les types .NET et les types JSON.

Exemples de C# Créer un objet JSON

Exemple montrant la création d'un objet JSON à l'aide de la bibliothèque native .NET.

Exemple n°1

Code :

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
namespace ConsoleApp4
{
[DataContractAttribute]
public class Student
{
[DataMemberAttribute]
public int RollNo { get; set; }
[DataMemberAttribute]
public string FirstName { get; set; }
[DataMemberAttribute]
public string LastName { get; set; }
[DataMemberAttribute]
public string Address { get; set; }
[DataMemberAttribute]
public float TotalMarks { get; set; }
public Student(int RollNo, string FirstName, string LastName,
string Address, float TotalMarks)
{
this.RollNo = RollNo;
this.FirstName = FirstName;
this.LastName = LastName;
this.Address = Address;
this.TotalMarks = TotalMarks;
}
}
public class Program
{
public static void Main(string[] args)
{
string jsonStr;
Student student = new Student(1, "Gaurang", "Pandya", "Thane, Mumbai", 800);
try
{
MemoryStream memoryStream = new MemoryStream();
//serializing object to JSON
DataContractJsonSerializer ser =
new DataContractJsonSerializer(student.GetType());
//writing JSON
ser.WriteObject(memoryStream, student);
memoryStream.Position = 0;
StreamReader streamReader = new StreamReader(memoryStream);
jsonStr = streamReader.ReadToEnd();
Console.WriteLine(jsonStr);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}

Sortie :

C# Créer un objet JSON

Exemple n°2

Exemple montrant la création d'un objet JSON à l'aide de la bibliothèque native .NET, puis l'écriture des données JSON obtenues dans un fichier à l'aide de StreamWriter.

Code :

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
namespace ConsoleApp4
{
[DataContractAttribute]
public class Student
{
[DataMemberAttribute]
public int RollNo;
[DataMemberAttribute]
public string FirstName;
[DataMemberAttribute]
public string LastName;
[DataMemberAttribute]
public string Address;
[DataMemberAttribute]
public float TotalMarks;
public Student(int RollNo, string FirstName, string LastName,
string Address, float TotalMarks)
{
this.RollNo = RollNo;
this.FirstName = FirstName;
this.LastName = LastName;
this.Address = Address;
this.TotalMarks = TotalMarks;
}
}
public class Program
{
public static void Main(string[] args)
{
string jsonStr;
string filePath = @"E:\Content\student.json";
Student student = new Student(1, "Gaurang", "Pandya", "Thane, Mumbai", 800);
try
{
MemoryStream memoryStream = new MemoryStream();
//serializing object to JSON
DataContractJsonSerializer ser =
new DataContractJsonSerializer(student.GetType());
//writing JSON
ser.WriteObject(memoryStream, student);
memoryStream.Position = 0;
StreamReader streamReader = new StreamReader(memoryStream);
jsonStr = streamReader.ReadToEnd();
//checking if the file already exists
if (File.Exists(filePath))
{
//deleting file if it exists
File.Delete(filePath);
}
//creating StreamWriter to write JSON data to file
using (StreamWriter streamWriter = new StreamWriter(filePath, true))
{
streamWriter.WriteLine(jsonStr.ToString());
streamWriter.Close();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}

Veuillez trouver ci-dessous la capture d'écran de la sortie du programme ci-dessus dans le fichier student.json ouvert dans le bloc-notes.

Sortie :

C# Créer un objet JSON

Exemple #3

Exemple montrant la création d'un objet JSON à l'aide du package Newtonsoft.

Code :

using System;
using Newtonsoft.Json;
namespace ConsoleApp4
{
public class Student
{
public int RollNo;
public string FirstName;
public string LastName;
public string Address;
public float TotalMarks;
public Student(int RollNo, string FirstName, string LastName,
string Address, float TotalMarks)
{
this.RollNo = RollNo;
this.FirstName = FirstName;
this.LastName = LastName;
this.Address = Address;
this.TotalMarks = TotalMarks;
}
}
public class Program
{
public static void Main(string[] args)
{
string jsonStr;
Student student = new Student(1, "Gaurang", "Pandya", "Thane, Mumbai", 800);
try
{
//serializing student object to JSON string
jsonStr = JsonConvert.SerializeObject(student);
Console.WriteLine(jsonStr);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}

Sortie :

C# Créer un objet JSON

Conclusion

Les objets JSON sont placés entre accolades et contiennent des paires clé-valeur. Une clé et sa valeur sont séparées par deux points où la clé doit être une chaîne et la valeur peut être de n'importe quel type de données valide. Chaque paire clé-valeur dans l'objet JSON est séparée par une virgule.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Tuples C#Article suivant:Tuples C#