2017-01-23 81 views
0

我有一個處理推送通知的控制器。除了諸如設備令牌,消息和標題之類的必要細節之外,客戶希望以我的控制器作爲代理將其自定義有效載荷發送到目的地。C#MVC如何接收自定義有效載荷作爲動態對象

JSON

... 
... 
data:{ 
    type:"asdasd", 
    postId:123 
} 

類粘合劑

Class{ 
    ... 
    ... 
    public dynamic data { get; set; } 
} 

然而,我注意到,當我嘗試查看數據字符串,它返回我:"{}"

我處理自定義有效載荷的方式是否錯誤?請指教。

編輯:我如何收到JSON:

[HttpPost] 
public void doThis(Class class) 
+0

控制器如何在doThis函數中接收數據?請顯示該代碼。 –

+0

我正在使用MVC4,它使用Model綁定將JSON解析爲定義的類。 doThis方法中的代碼與JSON的解析無關 – Kei

+0

提供[mcve]。當前信息不完整 – Nkosi

回答

0

,我發現該問題的解決辦法。從流請求中讀取有助於檢索動態數據。

Stream req = Request.InputStream; 
    req.Seek(0, System.IO.SeekOrigin.Begin); 
    string json = new StreamReader(req).ReadToEnd(); 

我相信問題在於模型綁定。我認爲它只會接受數據和類的類型。

+1

您還可以使用[FormCollection](https://msdn.microsoft.com/en-us/library/system.web.mvc.formcollection.aspx)對象讀取任意查詢字符串/表單數據值。 –