Ошибка запроса Json из-за обратной косой черты в теле запроса?

В настоящее время я начал разработку переноса существующего приложения в приложение для магазина Windows.

Я использую Restsharp.portable (от FubarDevelopment) и JSON.Net для сериализации.

Я попытался выполнить вход в систему, создав объект запроса и добавив сериализованный объект в качестве requestBody. Однако этот запрос всегда терпит неудачу с HttpStatusCode 500. Когда я смотрю в Fiddler, я вижу, что тело JSON все еще содержит косые черты. Когда я редактирую запрос вручную из Fiddler, удаляю обратную косую черту и выполняю его, запрос обрабатывается с помощью HttpStatusCode 200.

Кто-нибудь знает, почему он отправляет мое тело запроса с косой чертой?

Это необработанное содержимое, как показано в Fiddler.

POST http://myhost/webmediation/service.php HTTP/1.1
Accept: application/json, text/json, text/x-json, text/javascript,application/xml, text/xml
Content-Length: 102
Accept-Encoding: identity
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
User-Agent: NativeHost
Host: 185.7.39.125
Connection: Keep-Alive
Pragma: no-cache
"{\"params\":\"p_strLogin\":\"flow@mcs\"},\"jsonrpc\":\"2.0\",\"method\":\"initLogin\",\"id\":\"1\"}"

Это код, в котором я сериализую свой объект и добавляю его в запрос

var requestJSON = JsonConvert.SerializeObject(jsonRequestObject, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });

        var request = new RestRequest(resource, method);
        request.AddParameter("application/json; charset=utf-8", requestJSON, ParameterType.RequestBody);

РЕШЕНО: как заявил Пранав Пател, объект был сериализован во второй раз. Реализация Restsharp.portable выполняет сериализацию JSON, когда вы добавляете объект в запрос. Поскольку я добавлял в запрос уже сериализованный объект, он экранировался.

Спасибо, Пранав!


person Wouter Delellio    schedule 07.09.2015    source источник
comment
как вы выполняете сериализацию?   -  person Amit Kumar Ghosh    schedule 07.09.2015
comment
покажите нам код, который вы пробовали.   -  person Amit Kumar Ghosh    schedule 07.09.2015
comment
Пожалуйста. покажите код, в котором вы создаете, заполняете и отправляете запрос. Вам также пришлось удалить начальные и конечные кавычки, чтобы он работал?   -  person nozzleman    schedule 07.09.2015
comment
кстати: эта часть вашего JSON недействительна {\"params\":\"p_strLogin\":\"flow@mcs\"}   -  person nozzleman    schedule 07.09.2015