Sdílet prostřednictvím


Vložení JSON nebo XML jako tříd

V sadě Visual Studio můžete zkopírovat text ze souborů JSON nebo XML a pak text vložit jako třídy v kódu jazyka C# nebo Visual Basic . Uděláte to tak, že vyberete Upravit>vložit jinak a zvolíte Vložit JSON jako třídy nebo Vložit XML jako třídy.

Screenshot of the Paste Special option from the Edit menu in Visual Studio.

Tip

Pokud v nabídce Upravit nevidíte možnost Vložit jinak, ujistěte se, že máte nainstalované aspoň jednu z následujících úloh: ASP.NET vývoj pro web, vývoj pro Azure nebo vývoj desktopových aplikací .NET. Pak se ujistěte, že jste vybrali programový soubor aplikace. Například pro aplikaci v jazyce C# vyberte soubor Program.cs v Průzkumník řešení.

JSON (JavaScript Object Notation) a XML (eXtensible Marguage Language) jsou podobné tomu, že se používají k ukládání a přenosu dat. JSON je ale méně podrobné a může používat pole.

Příklady

Před použitím příkazu Vložit JSON jako třídy nebo příkazu Vložit XML jako třídy v sadě Visual Studio vytvořte zástupný symbol pro text. Pro aplikaci v jazyce C# můžete k tomu použít prázdnou deklaraci oboru názvů, jak je znázorněno na následujícím snímku obrazovky:

Screenshot of an empty namespace declaration in Visual Studio that's used as a placeholder to paste in JSON or XML text.

Potom vložte text JSON nebo XML do složených závorek.

JSON

Tady je příklad textu JSON:

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

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

Tady je snímek obrazovky, který ukazuje, jak Visual Studio převádí text JSON na třídy:

Screenshot of the JSON example text converted to classes by using the Paste Special feature in Visual Studio.

XML

Tady je příklad textu 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>

Tady je příklad kódu, který ukazuje, jak Visual Studio převádí text XML na třídy:

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

Viz také