名为“type”的属性不会与json.NET序列化

时间:2014-06-20 14:12:04

标签: c# json json.net asp.net-web-api

我一直在摸不着头脑,所以我想我会伸手去拿。

我们使用ISO标准数据类型的C#版本,并且在很多情况下它实现了一个名为

的属性
type

e.g。

    private EntityNamePartType typeField;

    [System.Xml.Serialization.XmlAttributeAttribute(Namespace="")]
    [DataMember(Name = "type", IsRequired = true)]
    public EntityNamePartType type
    {
        get
        {
            return this.typeField;
        }
        set
        {
            this.typeField = value;
        }
    }

现在,无论我做什么或尝试使用webAPI中默认使用的Json.Net序列,我都拒绝序列化。

如果我使用DataContractJsonSerialiser,则属性序列化正常。

但是,如果我将属性重命名为“Type”,它就可以工作,例如

private EntityNamePartType typeField;

[System.Xml.Serialization.XmlAttributeAttribute(Namespace="")]
[DataMember(Name = "type", IsRequired = true)]
public EntityNamePartType Type
{
    get
    {
        return this.typeField;
    }
    set
    {
        this.typeField = value;
    }
}

因此,由于某种原因,json.net序列化程序忽略了名为“type”(区分大小写)的属性

有什么方法可以解决这个问题吗?

0 个答案:

没有答案