首页 > 解决方案 > 如何忽略属性的 DataMember 短名称?

问题描述

我的类具有序列化并保存在 json 中的属性,dynamodb因此为这些属性使用短名称以节省 dynamodb 成本是有意义的。以下面的类为例

[Serializable]
[DataContract]
public class UserState
{
    [DataMember(Name = "tis")]
    public HashSet<string> TableIds { get; set; }

    [DataMember(Name = "wp")]
    public Dictionary<string, int> PositionByTableId { get; set; }

    [DataMember(Name = "ut")]
    public DateTime UpdatedTime { get; set; }
}

我们还在推送通知中将此类的序列化版本发送到前端,并希望在执行此操作时忽略属性的简短命名。

有没有一种方法可以使用 dynamodb 的短名称属性序列化此类,并使用推送通知的完整名称属性序列化此类。

对于 dynamodb 和推送通知,我们使用的是 newtonsoft json 序列化器/解串器。

标签: c#json.net

解决方案


推荐阅读