Condividi tramite


Incolla JSON o XML come classi

In Visual Studio è possibile copiare il testo da file JSON o XML e quindi incollare il testo come classi nel codice C# o Visual Basic . A tale scopo, selezionare Modifica>Incolla speciale e scegliere Incolla JSON come classi o Incolla XML come classi.

Screenshot dell'opzione Incolla speciale dal menu Modifica in Visual Studio.

Suggerimento

Se l'opzione Incolla speciale non è visualizzata nel menu Modifica , assicurarsi di avere installato almeno uno dei carichi di lavoro seguenti: sviluppo ASP.NET e Web, sviluppo Azure o sviluppo desktop .NET. Assicurati quindi di selezionare il file di programma per la tua app. Ad esempio, per un'app C#, selezionare il file Program.cs in Esplora soluzioni.

JSON (JavaScript Object Notation) e XML (eXtensible Markup Language) sono simili in quanto vengono entrambi utilizzati per archiviare e trasportare dati. JSON, tuttavia, è meno dettagliato e può utilizzare array.

Esempi

Prima di utilizzare il comando Incolla JSON come classi o il comando Incolla XML come classi in Visual Studio, creare un segnaposto per il testo. Per un'app C# , è possibile usare una dichiarazione dello spazio dei nomi vuota per eseguire questa operazione, come illustrato nello screenshot seguente:

Screenshot di una dichiarazione dello spazio dei nomi vuota in Visual Studio usata come segnaposto per incollare testo JSON o XML.

Quindi, incolla il testo JSON o XML tra parentesi graffe.

JSON (JavaScript Object Notation)

Ecco un esempio di testo JSON:

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

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

Ecco uno screenshot che mostra come Visual Studio converte il testo JSON in classi:

Screenshot del testo di esempio JSON convertito in classi usando la funzionalità Incolla speciale in Visual Studio.

XML

Ecco un esempio di testo 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>

Di seguito è riportato un esempio di codice che illustra il modo in cui Visual Studio converte il testo XML in classi:

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;
            }
        }
    }
}

Vedere anche