Получите ответ JSON от WebException - PullRequest
0 голосов
/ 31 октября 2018

Я попробовал следующий ответ, но все, что я получаю, это пустая строка.

WebException, как получить полный ответ с телом?

Я проверил попадание в конечную точку через почтальона, и я получил ответ json (ответ об ошибке), как и ожидал. Но когда я пытаюсь достичь этой конечной точки в .net, ответ, кажется, не содержит JSON. Ответы на приведенные выше вопросы приводят к пустой строке.

catch (WebException ex)
        {

            var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();

            dynamic obj = JsonConvert.DeserializeObject(resp);
            var messageFromServer = obj.error.message;
            return messageFromServer;

        }

И когда я пытаюсь просто вернуть строку ReadToEnd (), она пуста. Просто "".

Но, как уже было сказано, конечная точка, которую я нажимаю, правильно возвращает JSON.

{
    "Message" : "The number could not be found"
}

1 Ответ

0 голосов
/ 27 июня 2019

Это только пример, в вашем случае вы должны использовать следующее:

dynamic obj = JsonConvert.DeserializeObject(resp);
var messageFromServer = obj.Message;

Пожалуйста, сравните JSON из связанного вопроса:

{  
   "count":0,
   "startIndex":0,
   "status":1,
   "statusCode":500,
   "error":{  
      "message":"Invalid username or password."
   }
},

и ваш:

{
    "Message" : "The number could not be found"
}
...