.Net DataContract 是否必须包括来自 JSON 的所有成员?

本文关键字:JSON 成员 是否 DataContract 包括 Net | 更新日期: 2023-09-27 18:31:01

我正在使用 .Net 3.0 将两个不同的 json 字符串反序列化为 c# 类。 下面是一些示例 json:

{"studio" : "mystudio", "name" : "John Doe"}
{"studio_name" : "mystudio", "name" : "John Doe" }

请注意,json 字符串是不同的。 是否可以创建如下所示的类,并将工作室和studio_name作为数据成员?

    [DataContract]
    public class StudioMeta
    {
        [DataMember]
        public string Studio_Name { get; set; }
        [DataMember]
        public string Studio { get; set; }
    }

如果我只包含每个 json 字符串中的一个数据成员,它会正确反序列化吗? 还是这是非法的?

另外,如果我所做的只是反序列化,我是否需要 DataContractDataMember 修饰符?

.Net DataContract 是否必须包括来自 JSON 的所有成员?

请参阅 MSDN 文档。您可以使用

[DataMember(IsRequired = true)]

字段(默认值:假)和

[DataMember(EmitDefaultValue = false)]

财产。在您的情况下,序列化,反之亦然。