Сделать генерацию исключения во время десериализации 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д