为了账号安全,请及时绑定邮箱和手机立即绑定

[Json.net]忽略不需要的字段

标签:
JavaScript

摘要

在序列化对象,总会遇到一些敏感的信息,这些信息,并不想对调用接口的用户暴露出来,又或者移动端调用接口的时候,为了不返回没用的信息占用流量,这个时候也需要把一些信息给过滤掉。

系列文章

[Json.net]快速入门

[Json.net]Linq to Json

一个例子

复制代码

namespace Json.NetDemo{    class User    {        public string Name { set; get; }        public string Pwd { set; get; }        public DateTime Birthday { set; get; }    }    class Program    {        static void Main(string[] args)        {            Console.WriteLine(JsonConvert.SerializeObject(new User { Name = "wolfy", Pwd = "12334", Birthday = DateTime.Now }));            Console.Read();        }    }}

复制代码

User类是一个再普通不过的一个类了。这个时候有其他的client需要调用接口查找该用户的信息。这个时候如果直接把序列化的结果返回,这个时候就会把pwd字段暴露给调用方。

Json.net有一些特性个作用在字段或者属性上面

JsonIgnoreAttribute

序列化的时候忽略字段或者属性

JsonPropertyAttribute

可以通过这个特性对字段进行重命名。

JsonConverterAttribute

指定序列化器。用于指派转换对象的JsonSerializer。这个特性可以修饰类或类成员。用于修饰类时,通过此特性指派的JsonConverter会被设置为序列化类的默认方式。用于修饰属性或域成员时,被指派的JsonConverter会序列化它们的值。

复制代码

    class User    {        [JsonProperty("UserName")]        public string Name { set; get; }        [JsonIgnore]        public string Pwd { set; get; }        [JsonConverter(typeof(IsoDateTimeConverter))]        public DateTime Birthday { set; get; }    }

复制代码

通过上面的特性改造user类

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消