я хотел бы сериализации этот код через Json.NET:JSON.NET - как десериализовать сборку интерфейсных экземпляров?
public interface ITestInterface
{
string Guid {get;set;}
}
public class TestClassThatImplementsTestInterface1
{
public string Guid { get;set; }
}
public class TestClassThatImplementsTestInterface2
{
public string Guid { get;set; }
}
public class ClassToSerializeViaJson
{
public ClassToSerializeViaJson()
{
this.CollectionToSerialize = new List<ITestInterface>();
this.CollectionToSerialize.add(new TestClassThatImplementsTestInterface2());
this.CollectionToSerialize.add(new TestClassThatImplementsTestInterface2());
}
List<ITestInterface> CollectionToSerialize { get;set; }
}
Я хочу сериализации/десериализации ClassToSerializeViaJson с Json.NET. Сериализация работает, но десериализация дает мне эту ошибку:
Newtonsoft.Json.JsonSerializationException: Не удалось создать экземпляр типа ITestInterface. Тип - это интерфейс или абстрактный класс и не может быть создан.
Итак, как я могу десериализовать коллекцию List?
Thanks
Что вы уже пробовали? Вы даже читали документацию для JSON.NET ?! Я уверен, что сериализация и десериализация - одна из первых вещей, которую эта документация будет охватывать. – Clint
Да Сериализация работает, но я получаю сообщение об ошибке при попытке десериализации: Newtonsoft.Json.JsonSerializationException: Не удалось создать экземпляр типа ITestInterface. Тип - это интерфейс или абстрактный класс и не может быть создан. – user1130329
, то, возможно, вам стоит привести это к вашему вопросу? Вместо того, чтобы спрашивать такие открытые «как я могу»? «Это не работает», вам действительно нужно предоставить всю информацию, какая ошибка? Где это происходит? Что вы пытались исправить до сих пор? Пожалуйста, отредактируйте свой вопрос с этими вещами, чтобы сообщество могло лучше помочь вам, а не помечать ваши вопросы. – Clint