Jsonデータのc#クラスを生成するために、vs2012で過去の特別な機能を使用しようとしています。 NugetのNewtonSoftからJson.Newをダウンロードし、新しい.csクラスを追加して、jsonデータをクリップボードにコピーしましたが、[編集]-> [形式を選択して貼り付け]->に移動すると、次のように表示されます:XMLをクラスとして貼り付けのみ貼り付けクラスとしてのJson機能は表示されていません。助言がありますか?よろしくお願いします
これは私が得ているものであり、Newtonsoft.Jsonをすでにインストールしていることに注意してください:
(出典: indevcogroup.com )
新しいプロジェクトを作成し、Newtonsoft.Jsonをインストールして、クラスを追加しました。
クラスファイルを開いている場合は、Jsonデータをコピーし、[編集]-> [形式を選択して貼り付け]を選択すると、次の両方のオプションが表示されます。
他の種類のファイル(app.configなど)を開いている場合は、「JSONをクラスとして貼り付ける」のみが表示されます(グレー表示されます)
ただし、少し不安定に見えます。データが表示される前に、データを再コピーしなければならない場合がありました。
A)データを再コピーするb)開いているウィンドウをいじってみるc)拡張機能を再インストールする
クラスファイルのコードで[編集]> [形式を選択して貼り付け]メニューを選択するときは、クラスファイルの下にあるVisualStudioプロジェクトの[ターゲットフレームワーク]が次のように設定されていることを確認してください。
.NET Framework .5 + for'Paste [〜#〜] json [〜#〜] as Classes '
.NET Framework 4.5 + for'Paste [〜#〜] xml [〜#〜] as Classes '
それ以外の場合、これらのオプションは表示されません。
「ターゲットフレームワーク」設定はプロジェクトプロパティ>アプリケーションの下にあります。
[形式を選択して貼り付け]の下にオプションを表示するには、 http://www.Microsoft.com/en-au/download/details.aspx?id=41532 をインストールする必要があります。
私も同じ問題を抱えていました。ソリューションエクスプローラーからクラスを選択し、XML
オプションのみを取得していました。最後に、ニンジンをpublic class
の中括弧に直接入れてから、[編集]-> [形式を選択して貼り付け]に移動しました。
編集:修正。クラス内にクラスを生成します。代わりに、名前空間のどこかに挿入ポイントを配置します。 「JSONクラスの貼り付け」は、クリップボードのJSONにネストされたパブリッククラスRootobject {}およびその他のパブリッククラスを生成します。
同じ問題が発生し、クリップボードに有効なJSONテキストが必要であることがわかりました。
それを機能させるためのステップ:
サンプル入力:
{
"firstName":"John",
"lastName":"Smith",
"age":25,
"address":{
"streetAddress":"21 2nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021"
},
"phoneNumber":[
{
"type":"home",
"number":"212 555-1234"
},
{
"type":"fax",
"number":"646 555-4567"
}
]
}
サンプル出力:
public class Rootobject
{
public string firstName { get; set; }
public string lastName { get; set; }
public int age { get; set; }
public Address address { get; set; }
public Phonenumber[] phoneNumber { get; set; }
}
public class Address
{
public string streetAddress { get; set; }
public string city { get; set; }
public string state { get; set; }
public string postalCode { get; set; }
}
public class Phonenumber
{
public string type { get; set; }
public string number { get; set; }
}
Visual Studioの更新プログラムをインストールしてみてください。更新プログラムv4をインストールしましたが、「JSONをクラスとして貼り付ける」オプションがあります。