是根据按字母顺序创建的DataContract创建的xml。我有一个定义为: DataContract类:
[DataContract(Name = "User", Namespace = "")]
public class User
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
[DataMember]
public string Email { get; set; }
[DataMember]
public string Password { get; set; }
}当我完成以下帖子时:
<User>
<FirstName>abc</FirstName>
<LastName>123</LastName>
<Email>email@email.com</Email>
<Password>pass</Password>
</User>当我在发布后执行GET并以JSON形式返回结果时,电子邮件为空,但如果我将xml发布为:
<User>
<Email>email@email.com</Email>
<FirstName>abc</FirstName>
<LastName>123</LastName>
<Password>pass</Password>
</User>当我执行GET并将其作为JSON返回时,电子邮件不再为空。它为什么要这么做?
发布于 2010-09-29 04:04:52
使用DataMemberAttribute类中的Order参数来修饰它:
[DataMember(Order = index)]序列化程序中的反射器按字母顺序排列。除非像这样进行装饰:
[DataMember(Order = 0)]
public string FirstName { get; set; }
[DataMember(Order = 1)]
public string LastName { get; set; }
[DataMember(Order = 2)]
public string Email { get; set; }
[DataMember(Order = 3)]
public string Password { get; set; }Read more here...
https://stackoverflow.com/questions/3816478
复制相似问题