Проверка JSON-ответа на обращение к API c#

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Добрый день!
При обращении к апи VK в ответе возвращается JSON объект, который будет разным в зависимости от результата выполнения запроса:
{"response":{"response_object": значение}} при успехе, и
{"error:"{"error_object": значение}} при неудаче.

Вопрос - как проверить что содержится в ответе, получая его через project.Json.FromString(string_response) и не вылететь по красной ветке?

Т.е. если я проверяю так

Код:
if (string.IsNullOrEmpty(Convert.ToString(project.Json.response.response_obcect)) == false)
ну или как-то по другому, но именно с обращением к project.Json.response.response_obcect,
а в ответе содержится project.Json.error..., то я получу ошибку кода и вылет по красной ветке, а мне бы хотелось констатировать наличие error в ответе без выхода по красной
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Код:
project.Json.FromString(response);

string error_msg = "";
string error_code = "";
       
try {
   error_msg = project.Json.error.error_msg;
   error_code = project.Json.error.error_code.ToString();
}
catch {}

if ( error_msg != "" ){
   project.SendErrorToLog(error_msg+" (error code "+error_code+")", true);
   throw new Exception();
}
else {
// делаем что нужно
}
 
  • Спасибо
Реакции: semafor

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
WebBot, спасибо.
В принципе так и смотрел в сторону try catch, но думал, мож уже готовое какое исключение есть, типа ArgumentNullException или вроде того...
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)