0
我在嘗試反序列化對象列表時出現問題。除了由我的基類「BusinessObjectBaseId」繼承的屬性外,對象中的所有屬性都是反序列化的。爲什麼「Id」屬性不會被反序列化? (以下是我的代碼/工作流程)C# - 對象列表的反序列化,不反序列化繼承的屬性
基地:
public abstract class BusinessObjectBaseId : BusinessObjectBase
{
[DataMember]
public virtual Guid Id { get; set; }
}
對象:
public class NameAssociation : BusinessObjectBaseId
{
[DataMember]
public string Name { get; set; }
}
JSON對象:
[{"Name":"Joe","Id":"10eea25b-16aa-42d6-950a-4c28cb0537f4"},{"Name":"Fred","Id":"a913f4b4-1c82-4d19-ade8-949227ac7d08"}]
我打電話:
List<NameAssociation> list = JsonConvert.DeserializeObject<List<NameAssociation>>(jsonData);
我回去:
[0] : Name: Joe, Id: 00000000-0000-0000-0000-000000000000
[1] : Name: Fred, Id: 00000000-0000-0000-0000-000000000000
它可能是因爲在JSON中Id是一個字符串,在你的DTO中它是一個GUID,嘗試將它改爲字符串並查看它是否有效。理想情況下,您希望dtos與json 100%匹配,然後將dt映射到域對象。 – JOSEFtw