Почему ввод не является JSON-строкой C #? - PullRequest
0 голосов
/ 20 сентября 2018

Я работаю над приложением ASP.NET и отправляю запрос (REST API) в мою библиотеку классов.У меня есть тестовое приложение (Консольное приложение), в котором тот же код работает без ошибок, но не работает в приложении ASP.NET нашего клиента.

В тестовом приложении я делаю следующее:

using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, URL))
{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

    //headers
    request.Headers.Add("Authorization", "Bearer " + tokenResponse.AccessToken);
    request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    RequestObject createdRequest = CreateRequest();
    string json = JsonConvert.SerializeObject(createdRequest);

    StringContent stringContent =
        new StringContent(
            json,
            Encoding.UTF8,
            "application/json");

    //body (content) of the request
    request.Content = stringContent;

    //sending the request through a POST method asynchronously
    using (HttpResponseMessage httpResponse = await client.SendAsync(request))
    {
        string stringContents = await httpResponse.Content.ReadAsStringAsync();
    }
} 

Я выполняю тот же фрагмент кода в приложении ASP.NET, но получаю код состояния BadRequest и на string stringContents = await httpResponse.Content.ReadAsStringAsync(); он говорит: предоставленный ввод недопустим как JSON-строка и не может быть проанализирован.

Следующий объект JSON - это то, что я распечатываю с Console.WriteLine(); (я оставил несколько свойств из-за конфиденциальности):

{
  "MainObject":[
    {
      "Object1":{
        "prop1":"value",
        "prop2":"value",
        "prop3":"value",
        "prop4":"value",
        "prop5":"value",
        "prop6":"2018-09-20"
      },
      "Object2":{
        "prop1":"2822",
        "prop2":null,
        "prop3":100.0,
        "prop4":"value",
        "prop5":"value",
        "prop6":"value",
        "prop7":"value",
        "prop8":null,
        "prop9":null,
        "prop10":null,
        "prop12":null,
        "prop13":null,
        "prop14":null,
        "prop15":2,
        "prop16":0.0,
        "prop17":0.0,
        "prop18":"value"
      }
    }
  ]
}

Может кто-нибудь увидеть, что я сделал неправильно

...