Existe uma maneira de ignorar os valores padrão durante a serialização com o ServiceStack json?
Eu estou usando o Entity Framework como meu ORM. TemComplexTypeAttribute
(que é usado para anotar os POCO's). Propriedades que são tipos complexos, são sempre instanciadas (usando o construtor padrão), independentemente de seu valor; E, como conseqüência, são sempre serializados pelo ServiceStackJsonSerializer
(junto com suas propriedades).
JSON.NET tem um enum chamadoDefaultValueHandling
, que pode ser usado nessas situações.
O ServiceStack tem algo semelhante?
Por exemplo:
class Person
{
string Name { get; set; }
Address Address { get; set; }
}
[ComplexType]
class Address
{
string Street { get; set; }
int Number { get; set; }
int PostalCode { get; set; }
}
Quando eu serializo uma pessoa que não tem endereço, recebo isto:
"{ Name: Jim, Address : { Number: 0, PostalCode: 0 } }"
No Json.Net, se eu definir DefaultValueHandling para Ignorar, eu só obtenho
"{ Name: Jim }"