Открытый член 'error' для типа 'JObject' не найден - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь поймать сообщение об ошибке от WebRequest, которое возвращает сообщение 400 Bad Request, когда пользователь вводит неверную информацию. Я хочу отобразить сообщение на экране, и в соответствии с this я должен иметь возможность десериализовать строку, содержащую JSON, а затем получить доступ к сообщению об ошибке, например:

    Try
        'My web request is here
    Catch ex As WebException            
        Using resp As HttpWebResponse = ex.Response
            Using data As Stream = resp.GetResponseStream()
                Using reader = New StreamReader(data)

                    Dim bodyContent As String = reader.ReadToEnd()
                    Dim bodyObj = JsonConvert.DeserializeObject(bodyContent)

                    lblMyLabel.Text = bodyObj.error.message
                End Using
            End Using
        End Using
    End Try

Однако я получаю сообщение об ошибке:

Открытый член 'error' для типа 'JObject' не найден.

Как я могу исправить эту проблему?

1 Ответ

2 голосов
/ 09 июля 2019

Класс JObject не имеет свойства или метода error. Предполагая, что ваш JSON выглядит примерно так:

{
  "error": {
    "message": "...",
    "status": "...",
    "...": "..."
  },
  "...": "..."
}

Тогда вы бы использовали:

lblMyLabel.Text = bodyObj("error")("message").ToString()

Однако вы должны предоставить пример того, как выглядит ответ, чтобы я мог привести точный пример.

...