次の方法で共有


JSON または XML をクラスとして貼り付ける

Visual Studio では、JSON ファイルまたは XML ファイルからテキストをコピーし、 テキストをクラスとして C# または Visual Basic コードに貼り付けることができます。 これを行うには、[編集] >[形式を選択して貼り付け] を選択し、[JSON をクラスとして貼り付け] または [XML をクラスとして貼り付け] を選択します。

Visual Studio の [編集] メニューの [形式を選択して貼り付け] オプションのスクリーンショット。

ヒント

[編集] メニューに [形式を選択して貼り付け] オプションが表示されない場合は、ASP.NET と Web 開発Azure 開発または .NET デスクトップ開発少なくとも 1 つのワークロードがインストールされていることを確認してください。 次に、アプリのプログラム ファイルを選択していることを確認します。 たとえば、C# アプリの場合は、ソリューション エクスプローラーProgram.cs ファイルを選択します。

JSON (JavaScript Object Notation)と XML (eXtensible Markup Language)は、データの保存と転送に使用されるという点で似ています。 ただし、JSON は詳細度が低く、配列を使用できます。

例示

Visual Studio で [JSON をクラスとして貼り付け ] コマンドまたは [ XML をクラスとして貼り付け ] コマンドを使用する前に、テキストのプレースホルダーを作成してください。 C# アプリの場合は、次のスクリーンショットに示すように、空の名前空間宣言を使用してこれを行うことができます。

JSON または XML テキストを貼り付けるためのプレースホルダーとして使用される Visual Studio の空の名前空間宣言のスクリーンショット。

次に、JSONまたはXMLテキストを中括弧内に貼り付けます。

JSON(ジェイソン)

JSON テキストの例を次に示します。

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

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

Visual Studio が JSON テキストをクラスに変換する方法を示すスクリーンショットを次に示します。

Visual Studio の [形式を選択して貼り付け] 機能を使用してクラスに変換された 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;
            }
        }
    }
}

こちらもご覧ください

  • コード エディター の 機能
  • Visual Studio の 生産性ガイド