2012-01-18 42 views
2

私は、クライアントサイドアプリケーションにバックボーンMVCフレームワークを使用しています。 JSONデータをASPのMVCアプリケーションではなくasp.netアプリケーションにPOSTします。 JSONデータをどのように受け取るのですか? JSON文字列はHttpRequestオブジェクトのどこかにありますか? .NETはJSON文字列をデコードしますか?私はC#でオブジェクトやモデルを提供し、JSON文字列を逆シリアル化するときにこのオブジェクトを使用できるようにしたいが、HTTP Postアクション中にjson文字列にアクセスするにはどうすればよいですか?asp.netアプリケーションへのJSONデータの投稿

+0

はあなたのJavaScriptコードは、あなたが役立つだろうデータを、投稿している場所をどのように見えるかを含めることができれば、あなたがJSON.netのウェブサイト – MethodMan

+0

見てきました。 –

+0

私はJavaScriptをバックボーンMVCを使用しています。だから私はいくつかの属性を持つモデルを持っているだけでモデルsave()関数を呼び出します。これは、基本的に、モデル属性を持つjson文字列としてのHTTP投稿を行います。{id:5、name: "ModelName"} –

答えて

4

JSON.netはうまく機能しました。

Stream s = Request.InputStream; 
StreamReader sr = new StreamReader(s); 
Newtonsoft.Json.Linq.JObject jObj = Newtonsoft.Json.Linq.JObject.Parse(sr.ReadLine()); 
string name = (string)jObj["name"]; 
1

Fiddlerを使用すると、リクエストはどのように見えますか?特定のキーフィールドにJSONを添付して送信していると思います。キーフィールドがない場合は、Request.InputStreamを文字列に直接読み込み、その文字列を逆シリアル化する必要があります。

+0

jsonは次のように見えます:{"id": "10"、 "name": "}"、 " '文字列名=(文字列)jObj ["名前"]; ' –

0

ご質問にお答えするには:

は、どのように私はJSONデータを受信しますか? 少なくとも、Request.Formの変数セットになります(つまり、ASP.NETページにフォームをポストしている場合)。これは名前と価値のコレクションなので、そこからアクセスできるはずです。

JSON文字列はHttpRequestオブジェクトのどこかにありますか? はい - それはRequest.Formの一部である必要があります。

.NETはJSON文字列をデコードしますか? あなたがそれを伝える場合にのみ。 WCFサービスでは、WebMessageFormatの内容(XMLまたはJSON)を指定できます。 MVCでは、それに応じてJSONデータを処理できます。これをカスタムハンドラで処理するか、自分でデコードする必要があります。

うまくいけば、これが役に立ちます。特定の状況がある場合は、サンプルコードを提供するか、詳細を提供してください。私は自分の答えを更新します。

+0

私はフォームを投稿していません。私はbackbone.jsを使用してモデルsave()関数を介してモデルをサーバーにPOSTしています。私はWCFを使用していません。助けてくれてありがとう。 –

+0

しかし、まだ基本的なASP.NETポストバックモデルを使用しているASP.NETページにポストしている場合は、これはまだ関連しているはずです。実際には、私の答えのほとんど(すべてではないにしても)はASP.NET MVCに関係しています。 –

関連する問題