Partager via


Coller JSON ou XML en tant que classes

Dans Visual Studio, vous pouvez copier du texte à partir de fichiers JSON ou XML, puis coller le texte sous forme de classes dans votre code C# ou Visual Basic . Pour ce faire, sélectionnez Modifier>coller spécial et choisissez Coller JSON en tant que classes ou Coller XML en tant que classes.

Capture d’écran de l’option Coller spécial à partir du menu Modifier dans Visual Studio.

Conseil / Astuce

Si vous ne voyez pas l’option Coller spécial dans le menu Modifier , assurez-vous qu’au moins l’une des charges de travail suivantes est installée : développement ASP.NET et web, développement Azure ou développement de bureau .NET. Ensuite, assurez-vous de sélectionner le fichier programme pour votre application. Par exemple, pour une application C#, sélectionnez le fichier Program.cs dans l’Explorateur de solutions.

JSON (JavaScript Object Notation) et XML (eXtensible Markup Language) sont similaires en ce sens qu’ils sont tous deux utilisés pour stocker et transporter des données. JSON, cependant, est moins verbeux et peut utiliser des tableaux.

Exemples

Avant d’utiliser la commande Coller JSON en tant que classes ou la commande Coller XML en tant que classes dans Visual Studio, créez un espace réservé pour votre texte. Pour une application C# , vous pouvez utiliser une déclaration d’espace de noms vide pour ce faire, comme illustré dans la capture d’écran suivante :

Capture d’écran d’une déclaration d’espace de noms vide dans Visual Studio qui est utilisée comme espace réservé pour coller du texte JSON ou XML.

Ensuite, collez votre texte JSON ou XML entre accolades.

JSON

Voici un exemple de texte JSON :

{
  "Colors": [
 {
   "numberKey": 1,
   "isPrimary": true,
   "listColors": ["Red", "Blue", "Yellow"]
 },

 {
   "numberKey": 2,
   "isPrimary": false,
   "listColors": ["Purple", "Green", "Orange"]
 } ]
}

Voici une capture d’écran qui montre comment Visual Studio convertit le texte JSON en classes :

Capture d’écran de l’exemple de texte JSON converti en classes à l’aide de la fonctionnalité Coller spécial dans Visual Studio.

XML

Voici un exemple de texte XML :

<root>
 <color>
  <id>01</id>
  <name>red</name>
  <type>primary</type>
 </color>
 <color>
  <id>02</id>
  <name>green</name>
  <type>secondary</type>
 </color>
</root>

Voici un exemple de code qui montre comment Visual Studio convertit le texte XML en classes :

using System;

namespace PasteDemo
{
    // NOTE: Generated code may require at least .NET Framework 4.5 or .NET Core/Standard 2.0.
    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class root
    {

        private rootColor[] colorField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("color")]
        public rootColor[] color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class rootColor
    {

        private byte idField;

        private string nameField;

        private string typeField;

        /// <remarks/>
        public byte id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }

        /// <remarks/>
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        public string type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
    }
}

Voir aussi