Здравствуйте.
Подскажите пожалуйста, как осуществить проверку какой json получен.
Сервер ВК присылает нормальный ответ:
{
"ts": "209",
"updates": [{
"event_id": "0237692ceafd3e",
"group_id": 00000001,
"object": {
"client_info": {
"button_actions": ["text", "vkpay", "open_app", "location", "open_link", "callback", "intent_subscribe", "intent_unsubscribe"],
"carousel": true,
"inline_keyboard": true,
"keyboard": true,
"lang_id": 0
},
"message": {
"attachments": [],
"conversation_message_id": 106,
"date": 1709378417,
"from_id": 00000001,
"fwd_messages": [],
"id": 151,
"important": false,
"is_hidden": false,
"out": 0,
"peer_id": 00000001,
"random_id": 0,
"text": "Привет",
"version": 10000268
}
},
"type": "message_new",
"v": "5.199"
}
]
}
И Json с ошибкой:
{
"failed": 1,
"ts": 30
}
Я пытаюсь определить какой именно Json получен, в этом классе я должен пропустить нормальный ответ Json:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Brusketta.src.VKModels.Json
{
internal class FailedJson
{
public int Response(string jsonString)
{
var response = 0;
Filed? filed = JsonSerializer.Deserialize<Filed>(jsonString);
if (filed?.failed != 0)
{
response = filed.failed;
}
return response;
}
}
public class Filed
{
public int failed { get; set; }
public int ts { get; set; }
}
}
Когда приходит Json ответ с ошибкой, все хорошо отрабатывает, но когда приходит нормальный ответ, получаю исключение.
Можно конечно отловить исключение, но мне кажется это не правильно. В таком мощном языке должно же как то проверятся тип приходящих Json.
Помогите пожалуйста разобраться, нашел JsonTokenType но не уверен то ли это, да и примеров нет. Мне как начинающему тяжко без примеров.
Спасибо.