2

私は大量メール サービスを購読しています。このサービスは、最後にエラーが発生すると、自分の Web サイトのページにエンドポイントとして投稿し、メールが返送されたことを通知します。

彼らはそれを次のように説明しています。 The event data is sent in the POST request body using a JSON object.

私が知る必要があるのは、私に投稿された情報を取得する方法です。現在、私はそれらを汎用ハンドラーである.ashxページに向けています。これは、.NETにある限り、何にでも変更できます。

10 年間、最初の従来の ASP を使用し、現在は .NET を使用してきましたが、これまでにこれを行ったことはなく、どこから始めればよいかさえわからないことを認めなければなりません。

4

4 に答える 4

5

これは、同様のことを達成するために使用したコードです。最初にどこで入手したかはわかりません。

C#

var strJSON = String.Empty;

context.Request.InputStream.Position = 0;
using (var inputStream = new StreamReader(context.Request.InputStream))
{
  strJSON = inputStream.ReadToEnd();
}

JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
object serJsonDetails = javaScriptSerializer.Deserialize(strJSON, typeof(object));

// go and process the serJsonDetails object

またはVB

Dim strJSON = [String].Empty

context.Request.InputStream.Position = 0
Using inputStream = New StreamReader(context.Request.InputStream)
    strJSON = inputStream.ReadToEnd()
End Using

Dim javaScriptSerializer As New JavaScriptSerializer()
Dim serJsonDetails As Object = javaScriptSerializer.Deserialize(strJSON, GetType(Object))

' go and process the serJsonDetails object
于 2014-10-31T05:04:04.020 に答える
1

Request ストリーム ( Request.GetRequestStream) を読み取り、Json.NET を使用してオブジェクトに逆シリアル化することができます。

MVC4 と組み込みのオブジェクト マッピングを使用できます。

多くのオプションがあります。おそらく、それらの機能と欠点を理解するために、それらについてもっと読む必要があります。

于 2013-03-22T19:18:16.770 に答える
0

おそらく Request.Form (こちら)は、投稿の内容を知っていて、オブジェクトを取得するために json.net ライブラリのようなものが必要な場合、または正規表現またはキーワードを使用して文字列を検索するだけで、JSON を取得するのに役立ちます。

または、投稿を Web ページではなく Web サービス (asmx) に送信できる場合は、これらのサービスが json を解析します。

于 2013-03-22T19:17:43.823 に答える