反序列化时如何从json中删除k__BackingField
将xml文件序列化为.net c#对象后,在返回的json中获取k_BackingField。
我已经将DataContract和DataMember属性添加到.net c#对象,但是在json客户端上却什么也没得到。
[XmlRoot("person")][Serializable]
public class LinkedIn
{
[XmlElement("id")]
public string ID { get; set; }
[XmlElement("industry")]
public string Industry { get; set; }
[XmlElement("first-name")]
public string FirstName { get; set; }
[XmlElement("last-name")]
public string LastName { get; set; }
[XmlElement("headline")]
}
返回的json的示例:
home: Object<FirstName>k__BackingField: "Storefront"
<LastName>k__BackingField: "Doors"
回答:
如果可以在序列化中使用该类,则实际上不建议使用自动属性语法。支持字段是由编译器生成的,每次编译代码时都会不同。即使未对类进行任何更改(仅重新编译代码),这也可能导致不兼容问题。
我认为应用DataMember属性将解决这种情况下的问题。但是,如果需要在序列化中使用该类,我建议使用完整属性语法。
以上是 反序列化时如何从json中删除k__BackingField 的全部内容, 来源链接: utcz.com/qa/412583.html