2012-09-24 137 views
2

我有一個api,我正在與那將要做一些JSON POST到我的服務器端方法之一。ASP.NET MVC ModelBinder自定義字段映射

我正在創建映射到該JSON結構的一些C#類。我的問題是發佈給我的一個字段名爲「object」及其字符串。

這裏是發送給我的JSON的例子....

[ 
{ 
    "subscription_id": "1", 
    "object": "user", 
    "object_id": "1234", 
    "changed_aspect": "media", 
    "time": 1297286541 
}, 
{ 
    "subscription_id": "2", 
    "object": "tag", 
    "object_id": "nofilter", 
    "changed_aspect": "media", 
    "time": 1297286541 
},] 

這是我的問題。如何告訴模型聯編程序使用json「object」屬性,並在C#類中映射一些不同的名稱,因爲object是保留字?

public class InstagramUpdate 
{ 
    public string subscription_id { get; set; } 
    public string object_id { get; set; } 
    public string object { get; set; } //<-- what should I do here?? 
    public string changed_aspect { get; set; } 
    public int time { get; set; } 
} 

希望這有意義嗎?

謝謝!

+0

和你actionmethod期望一個InstagramUpdate對象和objectis空? –

+0

還沒有到那一點呢。我不知道如何在c#中建模JSON的外觀,因爲其中一個名稱是「object」,並且這是C#中的保留字。方法sig看起來像這樣。 [HttpPost] public string Process(InstagramUpdate [] data) { } – Matt

+0

直接嘗試:[HttpPost] public string Process(InstagramUpdate postedObject){}; –

回答

5

正好有答案這裏還有:

嘗試用「@」,如果你想將其設置爲varible /屬性名稱的前綴你的C#保留關鍵字。

即:

public class InstagramUpdate 
{ 
    public string subscription_id { get; set; } 
    public string object_id { get; set; } 
    public string @object { get; set; } //object will be here the prop name 
    public string changed_aspect { get; set; } 
    public int time { get; set; } 
} 
+0

多數民衆贊成我需要的。謝謝!! – Matt

+0

歡迎。對不起,我誤讀了這個問題在第一位。疲倦:) –