我正在尝试将一些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格式不正确的错误
答案 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对象的方法。 (作为字符串)。