Estoy tratando de serializar algunos objetos heredados que "crea perezoso" varias listas. No puedo cambiar el comportamiento heredado.¿Puede Newtonsoft Json.NET omitir la serialización de listas vacías?
he hervido abajo a este sencillo ejemplo:
public class Junk
{
protected int _id;
[JsonProperty(PropertyName = "Identity")]
public int ID
{
get
{
return _id;
}
set
{
_id = value;
}
}
protected List<int> _numbers;
public List<int> Numbers
{
get
{
if(null == _numbers)
{
_numbers = new List<int>();
}
return _numbers;
}
set
{
_numbers = value;
}
}
}
class Program
{
static void Main(string[] args)
{
Junk j = new Junk() { ID = 123 };
string newtonSoftJson = JsonConvert.SerializeObject(j, Newtonsoft.Json.Formatting.Indented);
Console.WriteLine(newtonSoftJson);
}
}
Los resultados actuales son: { "Identidad": 123, "Números": [] }
lo haría como para obtener: { "identidad": 123}
Eso es, me gustaría saltarse ninguna lista, collec ciones, matrices o cosas que están vacías.
Puede simplificar esto para 'return (_numbers.Count> 0);' –
¡Me gusta! Buena esa. –
¿puedo hacerlo de una manera genérica? No conozco todos los nombres de las propiedades pero quiero que todas las matrices vacías sean nulas. – Rohit