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