服务器无法识别json,使用restSharp发送请求

时间:2013-04-23 10:55:21

标签: c# restsharp

我正在尝试将一些json发布到jboss服务。使用restSharp ..我的代码如下。

        RestClient client = new RestClient(baseURL);
        RestRequest authenticationrequest = new RestRequest();
        authenticationrequest.RequestFormat = DataFormat.Json;
        authenticationrequest.Method = Method.POST;
        authenticationrequest.AddParameter("text/json",                  authenticationrequest.JsonSerializer.Serialize(prequestObj), ParameterType.RequestBody);

并尝试了这个

        RestClient client = new RestClient(baseURL);
        RestRequest authenticationrequest = new RestRequest();
        authenticationrequest.RequestFormat = DataFormat.Json;
        authenticationrequest.Method = Method.POST;                           authenticationrequest.AddBody(authenticationrequest.JsonSerializer.Serialize(prequestObj));

但在这两种情况下我的服务器都给我一个json格式不正确的错误

2 个答案:

答案 0 :(得分:0)

尝试使用JsonHelper将json准备为以下

 string jsonToSend = JsonHelper.ToJson(prequestObj);

然后

authenticationrequest.AddParameter("application/json; charset=utf-8", jsonToSend, ParameterType.RequestBody);

答案 1 :(得分:0)

我发现了什么问题......

我在windows metro Style中使用RestSharp,所以下载了源代码并进行了一些修改......以便在函数PutPostInternalAsync中修改我刚添加了这些修改

 httpContent = new StringContent(Parameters[0].Value.ToString(), Encoding.UTF8, "application/json");

它解决了这个问题......

参数[0] .Value.ToString()而不是这个你可以编写一个可以返回serialize json对象的方法。 (作为字符串)。