Se ho una classe come questa:deserializzazione in modo tale che un campo è un elenco vuoto, piuttosto che nulla
[DataContract(Name = "", Namespace = "")]
public class MyDataObject
{
[DataMember(Name = "NeverNull")]
public IList<int> MyInts { get; set; }
}
c'è un modo posso fare MyInts campo una lista vuota non nullo quando la seguente stringa è deserializzati?
string serialized = @"{""NeverNull"":null}";
MyDataObject myDataObject = JsonConvert.DeserializeObject<MyDataObject>(serialized);
sto usando Newtonsoft.Json
Il motivo che mi chiedo è che ho una richiesta JSON abbastanza complicato da analizzare, contiene nidi di elenchi di oggetti e vorrei il codice deserializzazione per creare questi oggetti così posso evitare un sacco di controlli nulli:
if (foo.bar != null)
{
foreach (var bar in foo.bar)
{
if (bar.baz != null)
{
foreach (var baz in bar.baz)
{
...
Perfetto - grazie! –