2017-01-23 8 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を使用しています。モデルバインディングを使用して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)オブジェクトを使用して、任意のクエリ文字列/フォームデータを読み取ることができます値。 –

関連する問題