Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

267
Vistas
La deserialización de Json falló en .NET 5 (Newtonsoft) al usar la clase derivada

Al intentar deserializar un objeto derivado complejo Json, que en realidad se crea al serializar un objeto de modelo de vista en .NET 5 MVC. Obtengo que las propiedades de la clase base del objeto derivado se anulen. Además, la mayoría de los elementos de la lista en Viewmodel como SelectList, Ienumnerable<> también se anulan. Intenté con un escenario de herencia simple también con 2 propiedades, desafortunadamente también falló.

Alguien puede explicar como solucionar esto.

Ejemplo

 public class Address { public string Street { get; set; } public string City { get; set; } public string State { get; set; } public string PostalCode = "99999"; // initialize properties to generate sample data public Address() { } } // This will be serialized into a JSON Contact object public class Contact : Address { public int Id { get; set; } public string Name { get; set; } public DateTime? BirthDate { get; set; } public string Phone { get; set; } public Address Address { get; set; } public Contact() { } } public class ContactMain { public Contact contact { get; set; } public ContactMain() { // initialize array of objects in default constructor to generate sample data this.contact = new Contact { Id = 7113, Name = "James Norris", BirthDate = new DateTime(1977, 5, 13), Phone = "488-555-1212", Address = new Address { Street = "4627 Sunset Ave", City = "San Diego", State = "CA", PostalCode = "92115" } }; var jsonString = JsonConvert.SerializeObject(contact); }

Luego tratando de deserializarlo con

 JsonConvert.DeserializeObject<Contact>(jsonString);

Hace que todas las propiedades de la clase Address Base sean nulas

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea utilizar la propiedad de la clase base para la clase derivada, puede llamarlos directamente mediante el objeto de la clase derivada. Propiedad de dirección de la clase Contact.

 public class Address { public string Street { get; set; } public string City { get; set; } public string State { get; set; } public string PostalCode = "99999"; // initialize properties to generate sample data public Address() { } } // This will be serialized into a JSON Contact object public class Contact : Address { public int Id { get; set; } public string Name { get; set; } public DateTime? BirthDate { get; set; } public string Phone { get; set; } public Contact() { } } public class ContactMain { public Contact contact { get; set; } public ContactMain() { // initialize array of objects in default constructor to generate sample data this.contact = new Contact { Id = 7113, Name = "James Norris", BirthDate = new DateTime(1977, 5, 13), Phone = "488-555-1212", Street = "4627 Sunset Ave", City = "San Diego", State = "CA", PostalCode = "92115" }; var jsonString = JsonConvert.SerializeObject(contact); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda