C#アプリケーション内でPUTリクエストを送信しようとしていますが、リクエストの本文はJSON形式である必要があります。物事はすなわち、このように、非常に単純な形式であるJSONペイロードのためにうまく働いている:C#でネストされたJSONペイロードを使用してPUTリクエストを送信するにはどうすればよいですか?
今HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "PUT";
request.ContentType = "application/json";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new
{
id = "1",
title = "foo",
body = "bar",
userId = "1"
});
streamWriter.Write(json);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
、私がしたい場合:
{
id: 1,
title: 'foo',
body: 'bar',
userId: 1
}
これは私がこのシナリオを処理するために書かれているコードです。別のJSON形式のペイロードを作成するこのように:
{
object =
{
id = "1"
title = "foo",
body = "bar",
userId = "1"
}
}
私はすなわち、二度シリアライズする必要があります。
var serializer = new JavaScriptSerializer();
var serializer1 = new JavaScriptSerializer();
string json = serializer.Serialize(new
{
object = serializer1.Serialize(new
{
test = "test"
title = "foo",
body = "bar",
userId = "1"
}),
});
しかし、それは非常に効率的では見えません。これを行うより良い方法はありますか?
です。この旧式のシリアライザはまだ使用していますか? –
@MatíasFidemraizerええと、初めてC#を使用しています。これはMSDNのドキュメントで探している最初の結果です。/もっと良いオプションがあることを知っておいてください。 – user1301428