Сделать генерацию исключения во время десериализации json - C#
Формулировка задачи:
Здравствуйте
Есть такой класс:
И такой json:
Что нужно сделать, чтобы во время десериализации выскакивал exception, гооворящий что в json-е нету поля intField?
class Message { public int intField; }
{}
Решение задачи: «Сделать генерацию исключения во время десериализации json»
textual
Листинг программы
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Schema; public class Program { public static void Main(string[] args) { string json = @"{}"; var message = DeserializeFromJson<Message>(json); } static T DeserializeFromJson<T>(string json) { var schemaGenerator = new JsonSchemaGenerator(); var typeSchema = schemaGenerator.Generate(typeof (T)); var jObject = JObject.Parse(json); if (!jObject.IsValid(typeSchema)) throw new JsonSchemaException("Json doesn't match to class schema"); return JsonConvert.DeserializeObject<T>(json); } class Message { public int intField; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д