У меня есть служба WCF, получающая POST-запрос от клиента в формате JSON.В моем сервисе у меня есть класс DataContract, который должен десериализовать мой запрос.Имена полей классов не такие, как в объекте JSON.Поэтому я использую атрибут Name для определения привязки между полями объекта JSON и полями класса WCR.Но это не десериализовать таким образом.Только если я использую одни и те же имена полей как в объекте JSON, так и в классе WCF, я получаю данные запроса правильно.
[DataContract]
public class ModifyBatchRequest
{
[DataMember(Name = "type")]
public int TypeID { get; set; }
[DataMember(Name = "off", IsRequired = false, EmitDefaultValue = false)]
public int Offers { get; set; }
[DataMember(Name = "created", IsRequired = false, EmitDefaultValue = false)]
public RuleData[] NewEntries { get; set; }
[DataMember(Name = "updated", IsRequired = false, EmitDefaultValue = false)]
public RuleData[] UpdatedEntries { get; set; }
[DataMember(Name = "deleted", IsRequired = false, EmitDefaultValue = false)]
public int[] DeletedEntries { get; set; }
}
этот объект корректно десериализуется при отправке
{
TypeID: newOfferTypeId,
Offers: requestOffers,
NewEntries: self.newEntries.map(iPrepareEntry),
UpdatedEntries: self.updatedEntries.map(iPrepareEntry),
DeletedEntries: self.deletedEntries
};
это не
{
type: newOfferTypeId,
off: requestOffers,
created: self.newEntries.map(iPrepareEntry),
updated: self.updatedEntries.map(iPrepareEntry),
deleted: self.deletedEntries
};