it-swarm.com.de

Wie zeige ich die "Paste Json Class" in Visual Studio 2012 an, wenn ich auf Paste Special klicke?

Ich versuche, die frühere Sonderfunktion im Vergleich zu 2012 zu verwenden, um eine c # -Klasse für meine Json-Daten zu generieren. Ich habe Json.New von NewtonSoft von Nuget heruntergeladen und dann eine neue .cs-Klasse hinzugefügt, die meine Json-Daten in die Zwischenablage kopiert hat, aber wenn ich zu Bearbeiten-> Inhalte einfügen -> gehe, sehe ich nur: XML als Klassen einfügen, nur das Einfügen Die Funktion "Json als Klasse" wird nicht angezeigt. Irgendwelche Vorschläge? Vielen Dank im Voraus

Das bekomme ich und bitte beachte, dass ich Newtonsoft.Json bereits installiert habe:

http://icms.indevcogroup.com/uploads/untitled.png

16
Sam

Ich habe ein neues Projekt erstellt, Newtonsoft.Json installiert und eine Klasse hinzugefügt.

Wenn Sie Ihre Klassendatei geöffnet haben, kopieren Sie Ihre Json-Daten und wählen Sie Bearbeiten -> Inhalte einfügen. Sie sehen beide Optionen:

Paste Special with Json Option

Wenn Sie eine andere Art von Datei geöffnet haben (z. B. app.config), wird nur "JSON als As Classes einfügen" (und es ist ausgegraut) angezeigt.

Paste Special - 1 option and greyed out

Es scheint allerdings etwas flockig zu sein - manchmal musste ich die Daten erneut kopieren, bevor sie angezeigt wurden.

Versuchen Sie, a) Ihre Daten erneut zu kopieren b) mit den geöffneten Fenstern herumzuspielen c) die Erweiterung erneut zu installieren

21
Gareth

Stellen Sie beim Auswählen des Menüs Bearbeiten> Inhalte einfügen im Code einer Klassendatei sicher, dass für das Visual Studio-Projekt, unter dem sich Ihre Klassendatei befindet, das Zielframework auf Folgendes festgelegt ist:

.NET Framework 3.5 + für 'EinfügenJSONals Klassen'

.NET Framework 4.5 + für 'EinfügenXMLals Klassen'

Andernfalls werden diese Optionen nicht angezeigt.

Die Einstellung 'Ziel-Framework' befindet sich unter Projekteigenschaften> Anwendung .

11
Sean M

Sie müssen http://www.Microsoft.com/en-au/download/details.aspx?id=41532 installieren, damit die Option unter Inhalte einfügen angezeigt wird.

4
Guy Lowe

Ich hatte das gleiche Problem. Ich habe die Klasse im Projektmappen-Explorer ausgewählt und nur die Option XML abgerufen. Schließlich habe ich meine Karotte direkt in die geschweiften Klammern des public class gesetzt und dann zu Bearbeiten -> Inhalte einfügen navigiert.

Edit: Korrektur, die eine Klasse innerhalb der Klasse erzeugt. Stattdessen platziere ich meine Einfügemarke irgendwo im Namespace. 'JSON-Klassen einfügen' generiert dann ein öffentliches Klassenstammobjekt {} und andere öffentliche Klassen, die in der JSON-Zwischenablage verschachtelt sind.

2
Asymmetric3.141

Ich hatte das gleiche Problem und stellte fest, dass Sie gültigen JSON-Text in Ihrer Zwischenablage haben sollten.

Schritte, um es zum Laufen zu bringen:

  1. Installieren Sie Web Essentials für Ihre Version von VS (Visual Studio). Web Essentials Download Seite
  2. Erstellen Sie eine leere Klassendatei in VS.
  3. Kopieren Sie gültigen JSON-Text in die Zwischenablage.
  4. Sie sehen nun "Json als Klassen einfügen" unter Bearbeiten -> Inhalte einfügen -> Json als Klassen einfügen

Beispieleingabe:

    {
       "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"
          }
       ]
    }

Beispielausgabe:

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

Versuchen Sie, das Update für Visual Studio zu installieren. Ich habe das Update v4 installiert und jetzt die Option "JSON als Klassen einfügen".

0
user2005519