J'essaie d'utiliser la fonctionnalité spéciale passée de vs 2012 afin de générer une classe c # pour mes données Json. J'ai téléchargé le fichier Json.New à partir de NewtonSoft à partir de Nuget, puis j'ai ajouté une nouvelle classe .cs qui copiait mes données json dans le presse-papiers, mais lorsque je clique sur Edition-> Collage spécial -> je ne peux voir que: Coller XML en tant que Classes uniquement le Coller. La fonctionnalité Json en tant que classes ne s'affiche pas. Aucune suggestion? Merci d'avance
C’est ce que je reçois et notez que j’ai déjà installé Newtonsoft.Json:
J'ai créé un nouveau projet, installé Newtonsoft.Json et ajouté une classe.
Si votre fichier de classe est ouvert, copiez vos données Json et choisissez Edition -> Collage spécial. Les deux options suivantes s'affichent:
Si vous avez un autre type de fichier ouvert (par exemple, app.config), vous voyez uniquement "Coller JSON en tant que classes" (et en grisé).
Cela semble un peu flippant cependant - parfois, je devais recopier les données avant qu'elles n'apparaissent.
Essayez a) de recopier vos données b) de jouer avec les fenêtres que vous avez ouvertes c) de réinstaller l’extension
Lorsque vous sélectionnez le menu Édition> Collage spécial dans le code d'un fichier de classe, assurez-vous que le projet Visual Studio dans lequel se trouve votre fichier de classe a son 'Cadre cible' défini sur:
.NET Framework 3.5 + pour 'CollerJSONen tant que classes'
.NET Framework 4.5 + pour 'CollerXMLen tant que classes'
Sinon, ces options n'apparaissent pas.
Le paramètre 'Cadre cible' se trouve sous Propriétés du projet> Application .
Vous devez installer http://www.Microsoft.com/en-au/download/details.aspx?id=41532 pour que l’option apparaisse sous Collage spécial.
J'ai eu le même problème. Je sélectionnais la classe dans l'explorateur de solutions et n'obtenais que l'option XML
. J'ai finalement mis ma carotte directement dans les accolades du public class
, puis je suis allé dans Édition -> 'Collage spécial'.
Edit: Correction, qui génère une classe à l'intérieur de la classe. Au lieu de cela, je vais placer mon point d'insertion quelque part dans l'espace de noms. 'Coller les classes JSON' génère ensuite une classe publique Rootobject {} et d'autres classes publiques imbriquées dans le JSON du Presse-papiers.
J'ai eu le même problème et j'ai découvert que vous devriez avoir du texte JSON valide dans votre presse-papiers.
Étapes pour le faire fonctionner:
Exemple de saisie:
{
"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"
}
]
}
Exemple de sortie:
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; }
}
Essayez d'installer la mise à jour pour Visual Studio J'ai installé la mise à jour v4 et j'ai maintenant une option "Coller JSON en tant que classes".