我使用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方法的对象的属性。
答案 0 :(得分:2)
您可以使用request.AddBody(obj);
。