Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

272
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda