J'essaie de sérialiser certains objets hérités que "paresseux crée" différentes listes. Je ne peux pas changer le comportement hérité.Newtonsoft Json.NET peut-il ignorer la sérialisation des listes vides?
Je l'ai bouilli jusqu'à cet exemple simple:
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);
}
}
Les résultats actuels sont les suivants: { "Identité": 123, "Numéros": [] }
Je voudrais comme pour obtenir: { "identité": 123}
C'est, je voudrais sauter toutes les listes, collec tions, tableaux, ou des choses qui sont vides.
Vous pouvez simplifier cela à 'return (_numbers.Count> 0);' –
J'aime ça! Joli. –
puis-je faire d'une manière générique? Je ne connais pas tous les noms de propriété, mais je veux que tous les tableaux vides soient null. – Rohit