使用RestSharp传递对象

时间:2012-08-16 19:06:08

标签: c# rest restsharp

我使用C#和RestSharp库连接到Web服务。

远程服务器要求我传递一个名为obj的对象,它有两个属性:login和pword。

因此,传递给Web服务的JSON对象应如下所示:

obj={"login":"myusername","pword":"mypassword"}

但是,我还没有找到一种简单的方法来实现这一目标。

如果我使用:

request.AddParameter("login","myusername");
request.AddParameter("pword","mypassword");

然后将这两个参数分别传递给Web服务。我还尝试使用这两个属性创建一个名为obj的对象。然后使用

request.AddObject(obj);

但是,这会导致Web服务调用的输出相同 - 两个元素都是单独传递的。

如何让RestSharp创建具有这两个属性的单个对象?

编辑:

我找到了一种方法来完成这项工作。可能有更好的方法来做到这一点,但这确实有效。

首先创建一个包含数据的对象:

var obj = new LoginRequest {login = login, pword = pword};

然后您可以使用以下内容:

request.AddParameter("obj",request.JsonSerializer.Serialize(obj));

这将生成一个JSON对象,该对象包含传递给Serialize方法的对象的属性。

1 个答案:

答案 0 :(得分:2)

您可以使用request.AddBody(obj);