POSTリクエストを送信したときに受信するサーバーからの応答を読み取ろうとしています。フィドラーを表示すると、JSON応答であると表示されます。どのようにして通常の文字列にデコードするのですか?できれば外部APIがないC#Winforms。必要に応じて、追加のコード/フィドラー結果を提供できます。
バイオリン弾きと意味不明な画像:
意味不明なことは、以下のコードでストリームを読み取ろうとした私の試みから生じました。
Stream sw = requirejs.GetRequestStream();
sw.Write(logBytes, 0, logBytes.Length);
sw.Close();
response = (HttpWebResponse)requirejs.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
MessageBox.Show(sr.ReadToEnd());
コメントで述べたように、Newtonsoft.Jsonは本当に優れたライブラリであり、使用する価値があります-非常に軽量です。
Microsoftの.NETライブラリのみを使用したい場合は、System.Web.Script.Serialization.JavaScriptSerializerも検討してください。
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsonObject = serializer.DeserializeObject(sr.ReadToEnd());
A)リモートのテキストストリームの取得が十分に文書化されているため、ストリームを実際にdecodeデコードする必要がある(まだ明確化していない)と想定します。 、およびB)デコードされていないJSONストリームでは何もできません。
あなたの最善の行動は、実装することです System.Web.Helpers.Json
:
using System.Web.Helpers.Json
...
var jsonObj = Json.Decode(jsonStream);