1

我正在使用 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 方法的对象的属性。

4

1 回答 1

2

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

于 2013-05-22T19:16:07.293 回答