Freigeben über


Einfügen von JSON oder XML als Klassen

In Visual Studio können Sie Text aus JSON- oder XML-Dateien kopieren und den Text dann als Klassen in Ihren C#- oder Visual Basic-Code einfügen. Wählen Sie dazu Edit>Paste Special und dann entweder Paste JSON As Classes (JSON als Klassen einfügen ) oder Paste XML As Classes (XML als Klassen einfügen) aus.

Screenshot der Option Inhalte einfügen aus dem Menü Bearbeiten in Visual Studio.

Tipp

Wenn die Option Inhalte einfügen im Menü Bearbeiten nicht angezeigt wird, stellen Sie sicher, dass mindestens eine der folgenden Workloads installiert ist: ASP.NET- und Webentwicklung, Azure-Entwicklung oder .NET-Desktopentwicklung. Stellen Sie dann sicher, dass Sie die Programmdatei für Ihre App auswählen. Wählen Sie z. B. für eine C#-App die Datei Program.cs im Projektmappen-Explorer aus.

JSON (JavaScript Object Notation) und XML (eXtensible , Markup Language) ähneln sich insofern, als sie beide zum Speichern und Transportieren von Daten verwendet werden. JSON ist jedoch weniger ausführlich und kann Arrays verwenden.

Beispiele

Bevor Sie den Befehl JSON als Klassen einfügen oder den Befehl XML als Klassen einfügen in Visual Studio verwenden, erstellen Sie einen Platzhalter für den Text. Für eine C# -App können Sie dazu eine leere Namespacedeklaration verwenden, wie im folgenden Screenshot gezeigt:

Screenshot einer leeren Namespacedeklaration in Visual Studio, die als Platzhalter zum Einfügen von JSON- oder XML-Text verwendet wird.

Fügen Sie dann Ihren JSON- oder XML-Text in die geschweiften Klammern ein.

JSON

Hier ist ein Beispiel für JSON-Text:

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

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

Hier sehen Sie einen Screenshot, der zeigt, wie Visual Studio den JSON-Text in Klassen konvertiert:

Screenshot des JSON-Beispieltextes, der mithilfe des Features

XML

Hier ist ein Beispiel für 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>

Im Folgenden finden Sie ein Codebeispiel, das zeigt, wie Visual Studio den XML-Text in Klassen konvertiert:

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

Siehe auch