Dela via


Klistra in JSON eller XML som klasser

I Visual Studio kan du kopiera text från JSON- eller XML-filer och sedan klistra in texten som klasser i din C# - eller Visual Basic-kod . Det gör du genom att välja Redigera>Klistra in Special och välja antingen Klistra in JSON som klasser eller Klistra in XML som klasser.

Skärmbild av alternativet Klistra in special från Redigera-menyn i Visual Studio.

Tips/Råd

Om du inte ser alternativet Klistra in specialRedigera-menyn kontrollerar du att du har minst en av följande arbetsbelastningar installerade: ASP.NET och webbutveckling, Azure-utveckling eller .NET Desktop utveckling. Se sedan till att du väljer programfilen för din app. För en C#-app väljer du till exempel Program.cs-filen i Solution Explorer.

JSON (JavaScript Object Notation) och XML (eXtensible Markup Language) liknar varandra på så sätt att de båda används för att lagra och transportera data. JSON är dock mindre utförlig och kan använda matriser.

Exempel

Innan du använder kommandot Klistra in JSON som klasser eller kommandot Klistra in XML som klasser i Visual Studio skapar du en platshållare för texten. För en C# -app kan du använda en tom namnområdesdeklaration för att göra det, som du ser i följande skärmbild:

Skärmbild av en tom namnområdesdeklaration i Visual Studio som används som platshållare för att klistra in i JSON- eller XML-text.

Klistra sedan in din JSON- eller XML-text inom klammerparenteserna.

JSON

Här är ett exempel på JSON-text:

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

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

Här är en skärmbild som visar hur Visual Studio konverterar JSON-texten till klasser:

Skärmbild av JSON-exempeltexten som konverterats till klasser med hjälp av funktionen Klistra in special i Visual Studio.

XML

Här är ett exempel på XML-text:

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

Här är ett kodexempel som visar hur Visual Studio konverterar XML-texten till klasser:

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

Se även