There are two classes:
class Document {
public DocumentItem[] DocumentItemList { get; set; }
}
class DocumentViewModel : Document{
public new DocumentItemViewModel[] DocumentItemList { get; set; }
}
DocumentItemList
in derived class hides DocumentItemList
in base class.
When DocumentViewModel
object is serialized to JSON:
DocumentViewModel instance = CreateObject(); // object gets created
string serializedContent = new JavaScriptSerializer().Serialize(instance);
there are two DocumentItemLists in serialized string:
{
"DocumentItemList": [{
... etc. ...
}],
"DocumentItemList": null
}
Why is it like that? This causes error, when data is deserialized.
(BTW, I tested serialization with Newtonsoft.JSON, and that serializer doesn't have this error).