Aracılığıyla paylaş


JSON veya XML'i sınıf olarak yapıştırma

Visual Studio'da, JSON veya XML dosyalarından metin kopyalayabilir ve ardından metni C# veya Visual Basic kodunuza sınıflar olarak yapıştırabilirsiniz. Bunu yapmak için Özel Yapıştır'ı> Düzenle'yi seçin ve JSON'u Sınıflar Olarak Yapıştır'ı veya XML'yi Sınıf Olarak Yapıştır'ı seçin.

Visual Studio'daki Düzenle menüsünden Özel Yapıştır seçeneğinin ekran görüntüsü.

İpucu

Düzen menüsünde Özel Yapıştır seçeneğini görmüyorsanız, aşağıdaki iş yüklerinden en az birinin yüklü olduğundan emin olun: ASP.NET ve web geliştirme, Azure geliştirme veya .NET masaüstü geliştirme. Ardından, uygulamanız için program dosyasını seçtiğinizden emin olun. Örneğin, bir C# uygulaması için ÇözümGezgini'nde Program.cs dosyasını seçin.

JSON (JavaScript Object Notation) ve XML (eXtensible Markup Language), her ikisi de verileri depolamak ve taşımak için kullanılmaları bakımından benzerdir. Ancak JSON daha az ayrıntılıdır ve dizileri kullanabilir.

Örnekler

Visual Studio'da JSON'u Sınıflar Olarak Yapıştır komutunu veya XML'yi Sınıflar Olarak Yapıştır komutunu kullanmadan önce, metniniz için bir yer tutucu oluşturun. Bir C# uygulaması için, aşağıdaki ekran görüntüsünde gösterildiği gibi bunu yapmak için boş bir ad alanı bildirimi kullanabilirsiniz:

Visual Studio'da JSON veya XML metnine yapıştırmak için yer tutucu olarak kullanılan boş bir ad alanı bildiriminin ekran görüntüsü.

Ardından, JSON veya XML metninizi küme ayraçlarının içine yapıştırın.

JSON veri formatı

Aşağıda bir JSON metni örneği verilmiştir:

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

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

Visual Studio'nun JSON metnini sınıflara nasıl dönüştürdüğünü gösteren bir ekran görüntüsü aşağıda verilmiştir:

Visual Studio'daki Özel Yapıştır özelliği kullanılarak sınıflara dönüştürülen JSON örnek metninin ekran görüntüsü.

XML

Aşağıda bir XML metni örneği verilmiştir:

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

Visual Studio'nun XML metnini sınıflara nasıl dönüştürdüğünü gösteren bir kod örneği aşağıda verilmiştir:

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

Ayrıca bakınız