![](/img/trans.png)
[英]JsonConvert.SerializeObject passes custom type properties to parent types Equals(object) method
[英]JsonConvert.SerializeObject with casted child to parent still returns parent properties
有點類似的問題,但答案在這里沒有意義
public static void Main(string[] args)
{
var myObject = new ChildClass()
{
P1 = "p1",
P2 = "P2",
};
var data = (ParentClass)myObject;
var jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(data);
Console.WriteLine(jsonData);
}
class ParentClass
{
public string P1 { get; set; }
}
class ChildClass : ParentClass
{
public string P3 { get; set; }
}
會回來
{"P2":"P2","P1":"p1"}
在基類或子類上使用 JsonIgnore 沒有意義,因為我喜歡該過程在所有其他正常情況下正常工作。
如果要使用默認序列化程序序列化父類,則需要創建一個父類:
var myObject = new ParentClass()
{
P1 = "p1"
};
您不能通過將對象強制轉換為父對象來關閉多態性/忽略對象是子對象。 ,也許看看映射器是否可以為您將您的孩子映射到父級(或者去掉只復制父級上存在的那些屬性的無聊樣板)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.