Я пытаюсь сериализовать некоторые устаревшие объекты, которые "ленивы" создают разные списки. Я не могу изменить прежнее поведение.
Я перевернул его на этот простой пример:
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 );
}
}
Текущие результаты: { "Идентичность": 123, "Числа": [] }
Я хотел бы получить: { "Идентичность": 123 }
То есть, я хотел бы пропустить любые списки, коллекции, массивы или такие пустые вещи.