c# - ¿Cómo se muestra la "clase de pegar Json" en el estudio visual 2012 al hacer clic en Pegado especial?
visual-studio-2012 json.net (6)
Estoy tratando de usar la característica especial pasada en vs 2012 para generar c # class para mis datos Json. Descargué el Json.New de NewtonSoft de Nuget y luego agregué una nueva clase .cs, copié los datos de mi json en el portapapeles, pero cuando voy a Editar-> Pegar especial-> Solo puedo ver: Pegar XML como clases solo la Pegar La característica Json as Classes no se muestra. ¿Alguna sugerencia? Gracias de antemano
Esto es lo que estoy recibiendo y tenga en cuenta que ya he instalado Newtonsoft.Json:
Creé un nuevo proyecto, instalé Newtonsoft.Json y agregué una clase.
Si tiene su archivo de clase abierto, copie los datos de Json y elija Editar -> Pegar especial, verá las dos opciones:
Si tiene algún otro tipo de archivo abierto (por ejemplo, app.config), solo verá "Pegar JSON como clases" (y está en gris)
Sin embargo, parece un poco raro: a veces tuve que volver a copiar los datos antes de que aparecieran.
Intenta a) volver a copiar tus datos b) jugando con las ventanas que tienes abiertas c) reinstalar la extensión
Intentar instalar la actualización para Visual Studio. Instalé la actualización v4 y ahora tengo la opción "Pegar JSON como clases".
Al seleccionar el menú Edición> Pegado especial mientras se encuentra en el código de un archivo de clase, asegúrese de que el proyecto de Visual Studio en el que se encuentra su archivo de clase tenga su ''Marco de destino'' configurado en:
.NET Framework 3.5 + para ''Pegar JSON como clases''
.NET Framework 4.5 + para ''Pegar XML como clases''
De lo contrario, estas opciones no aparecen.
La configuración ''Marco de destino'' se encuentra en Propiedades del proyecto> Aplicación .
Necesita instalar http://www.microsoft.com/en-au/download/details.aspx?id=41532 para obtener la opción de aparecer en Pegado especial.
Tuve el mismo problema. Estaba seleccionando la clase del explorador de soluciones y obteniendo solo la opción XML
. Finalmente puse mi zanahoria directamente en las llaves de la public class
, luego navegué hacia Editar -> ''Pegar especial''.
Editar: Corrección, que genera una clase dentro de la clase. En cambio, voy a poner mi punto de inserción en algún lugar del espacio de nombres. ''Pegar clases JSON'' genera un Rootobject de clase pública {} y otras clases públicas que están anidadas en el JSON del portapapeles.
Tuve el mismo problema y descubrí que debes tener un texto JSON válido en tu portapapeles.
Pasos para que funcione:
- Instale Web Essentials para su versión de VS (Visual Studio). Página de descarga de Web Essentials
- Crear un archivo de clase vacío en VS.
- Copie texto JSON válido en el portapapeles.
- Ahora verá "Pegar Json como clases" en Editar -> Pegar especial -> Pegar Json como clases
Muestra de entrada:
{
"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"
}
]
}
Muestra de salida:
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; }
}