Поделиться через


Вставить JSON или XML в качестве классов

В Visual Studio можно скопировать текст из файлов JSON или XML, а затем вставить его в виде классов в код C# или Visual Basic . Для этого выберите Edit>Paste Special и выберите Paste JSON As Classes или Paste XML As Classes.

Снимок экрана параметра

Подсказка

Если вы не видите параметр Специальная вставка в меню Правка , убедитесь, что у вас установлена по крайней мере одна из следующих рабочих нагрузок : ASP.NET и веб-разработка, разработка Azure или разработка классических приложений .NET. Затем убедитесь, что вы выбрали файл программы для своего приложения. Например, для приложения C# выберите файл Program.cs в обозревателе решений.

JSON (JavaScript Object Notation) и XML (eXtensible Markup Language) похожи в том, что оба используются для хранения и передачи данных. JSON, однако, менее многословен и может использовать массивы.

Примеры

Прежде чем использовать команду "Вставить JSON как классы " или "Вставить XML как классы " в Visual Studio, создайте заполнитель для текста. Для приложения C# для этого можно использовать пустое объявление пространства имен , как показано на следующем снимке экрана:

Снимок экрана с пустым объявлением пространства имен в Visual Studio, которое используется в качестве заполнителя для вставки текста в формате JSON или XML.

Затем вставьте текст в формате JSON или XML в фигурные скобки.

JSON (JavaScript Object Notation)

Вот пример текста JSON:

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

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

Ниже приведен снимок экрана, на котором показано, как Visual Studio преобразует текст JSON в классы:

Снимок экрана с примером текста JSON, преобразованного в классы с помощью функции

XML

Вот пример текста в формате 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>

Ниже приведен пример кода, показывающий, как Visual Studio преобразует текст XML в классы:

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

См. также