Cat*_*lin 13 c# asp.net asp.net-mvc serialization
我有一个产品的数据传输对象类
public class ProductDTO
{
public Guid Id { get; set; }
public string Name { get; set; }
// Other properties
}
Run Code Online (Sandbox Code Playgroud)
当Asp.net在JSON(using JSON.NET)或in中序列化对象时XML,它会生成ProductDTO对象.
不过,我想序列化期间改名字,从ProductDTO到Product,使用某种类型的属性:
[Name("Product")]
public class ProductDTO
{
[Name("ProductId")]
public Guid Id { get; set; }
public string Name { get; set; }
// Other properties
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
akn*_*ds1 17
我不明白为什么类名应该要把它变成JSON序列化数据,但至于XML,你应该能够通过控制类型名称DataContractAttribute,特别是通过名称属性:
using System.Runtime.Serialization;
[DataContract(Name = "Product")]
public class ProductDTO
{
[DataMember(Name="ProductId")]
public Guid Id { get; set; }
[DataMember]
public string Name { get; set; }
// Other properties
}
Run Code Online (Sandbox Code Playgroud)
DataContractAttribute是相关的,因为ASP.NET Web API的默认XML序列化程序是DataContractSerializer.DataContractSerializer通过应用于序列化类的DataContractAttribute和应用于序列化类成员的DataMemberAttribute进行配置.