2012-04-16 98 views
1

我有一個外部程序集中的現有類,我無法更改。 我想用Newtonsoft JSON.Net從這個類中序列化一個對象,但不是所有的屬性。在現有類上設置Json屬性

通常情況下,我可以通過這樣的JsonIgnoreAttribute屬性做到這一點:

public class TestJsonClass 
{ 
    public string PropA { get; set; } 

    [JsonIgnoreAttribute] 
    public string PropB { get; set; } 
} 

但因爲我不能改變類,有沒有辦法忽略不帶屬性的屬性?

+0

您可能希望在運行時執行此操作,但它有點貴,因爲您必須使用反射。看看這個線程:http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/4fb1b301-618d-4b5e-8b89-e0595c005b16/ – MilkyWayJoe 2012-04-16 19:06:38

+0

我希望的非反射的方式(如可能) – r03 2012-04-16 19:15:36

+1

爲什麼不反序列化爲'TestJsonClass',然後將值複製到原始對象。 – 2012-04-16 19:29:29

回答

1

嘗試繼承類和重寫適當的註釋財產或在一個完全新的類複製屬性值。