反序列化时如何从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

回到顶部