[Json.net]忽略不需要的字段
2016-07-28 14:09
519 查看
摘要
在序列化对象,总会遇到一些敏感的信息,这些信息,并不想对调用接口的用户暴露出来,又或者移动端调用接口的时候,为了不返回没用的信息占用流量,这个时候也需要把一些信息给过滤掉。系列文章
[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类
相关文章推荐
- PhantomJS(webkit)/SlimerJS (Gecko) + CasperJS获取JavaScript渲染后的网页内容
- 如何解决Sharepoint Digest 超时问题
- [php学习十三]javaScript的基本练习4-与php的相互调用
- js设置、修改、获取、删除 cookie
- Json 批量表格/表单数据的处理
- 解决jsp中超链接传中文参数时乱码问题
- Three.js基础探寻四——立方体、平面与球体
- 对Extjs中store的多种操作
- js刷新整个页面包括引入进来的jsp
- jsp获取当前最新浏览器
- LostRoutes项目日志——在main.js中添加多分辨率适配
- 使用JavaScript和canvas做精确的像素碰撞检测
- json 解析 多条信息时 只解析自己想要的信息
- 用JS检测必须填写的字段是否为空(使用了函数嵌套)
- JSP重定向小例子(不讲原理)
- rapidjson::Document _doc
- 爬虫之jsoup入门指南
- js 数组,字符串,json互相转换
- js将金额转成大写金额
- JSP技术