Мне нужно преобразовать JSON в пользовательский объект, для этого я использую AutoMapper. Это мой код, и он в настоящее время работает:
public string json = @"
{
'index': 'dagger',
'name': 'Dagger',
'equipment_category': 'weapon'
}"
public class Equipment
{
public string Index { get; set; }
public string Name { get; set; }
public string EquipmentCategory { get; set; }
}
public Equipment Convert()
{
var config = new MapperConfiguration(config =>
{
config.CreateMap<JObject, Equipment>()
.ForMember(dest => dest.Index, opt => opt.MapFrom(src => src["index"])
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => src["name"])
.ForMember(dest => dest.EquipmentCategory, opt => opt.MapFrom(src => src["equipment_category"])
}
var mapper = config.CreateMapper();
var result = mapper.Map<Equipment>(JObject.Parse(json));
return result;
}
Обратной стороной этого является то, что мне нужно создать правило ForMember
для каждого свойства объекта. Кто-нибудь знает более эффективный способ сделать это?