2016-11-25 149 views
1

對不起(可能)微不足道的問題,但是,我試圖使用一個Web服務,其中實體和我的數據模型類被命名爲不同。Json.Net序列化/反序列化類名稱屬性C#

我想保留我的模型.Net類名稱並使用Json屬性名稱來映射串行器/解串器與相應的Web服務實體。 例如:

Web服務實體:

「人物」

我的模型類:

「僱員」

我已經做:

[JsonObject(Title="People")] 
public class Employee 
{ 

    [JsonProperty("DifferentPropertyName")] 
    string propertyName1 { get; set; } 
} 

但json串行器/解串器仍在繼續使用.Net類名稱,我需要設置jsonObject標題。

有辦法實現它嗎?

編輯

我工作的一個Xamarin窗體應用程序,使用Simple.OData.Client消費OData服務

感謝

+0

也許這將幫助:http://stackoverflow.com/questions/13839426/how-can-i-add-一個自定義根節點時序列化一個對象與json-net – Yanga

+0

也許這可以幫助: '[JsonProperty(Title =「People」)] public string propertyName1 {get;設置;}' –

+0

請顯示正在做錯事情的序列化/反序列化代碼。 – DavidS

回答

0

DataContractAttribute可能是您的解決方案。

public class RichFilter 
{ 
    public Trolo item { get; set; } 
} 
[DataContract(Name = "item")] 
public class Trolo 
{ 
    public string connector { get; set; } 
} 

如果一個序列化對象RichFilter,這裏是輸出:

{"item":{"connector":"AND"}}