分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Json.net 忽略实体某些属性的序列化

发布时间:2023-09-06 01:56责任编辑:沈小雨关键词:暂无标签
Json.net 忽略实体某些属性的序列化遇到了一个小问题有一个用户类,结构和数据库一模一样,里面包含用户密码,要向前台返回用户信息的json数据,但是不能输出密码这个字段。之前的做法是 重新又建了一个不包含这个字段的新类,然后深度复制,总感觉这中方式有点笨拙。受人启发么,想起来json.net中有一个能控制被序列化为一个json对象中的属性的特性,就找找有没有能屏蔽实体属性的特性果然复制代码using Newtonsoft.Json;using Newtonsoft.Json.Converters;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ ???[JsonObject(MemberSerialization.OptIn)] ???public class User ???{ ???????[JsonProperty(PropertyName = "ID")] ???????public int Unid { get; set; } ???????[JsonProperty] ???????public string UserName { get; set; } ???????[JsonProperty] ???????[JsonConverter(typeof(IsoDateTimeConverter))] ???????public DateTime CreateTime { get; set; } ???????[JsonIgnoreAttribute] ???????public string PasssWord { get; set; } ???????public string Memo { get; set; } ???}}复制代码附带解释JsonObjectAttribute这个标签的成员序列化标志指定成员序列化是opt-in(要序列化的成员必须带有JsonProperty或DataMember标签)还是opt-out(默认所有的都会序列化,但通过JsonIgnoreAttribute标签可以忽略序列化。opt-out是json.net默认的)。 JsonPropertyAttribute允许被序列化的成员自定义名字。这个标签同时标示出:在成员序列化设置为opt-in的时候,成员会被序列化。 JsonIgnoreAttribute忽略域或属性的序列化 JsonConverterAttribute用于指派转换对象的JsonSerializer。这个标签可以修饰类或类成员。用于修饰类时,通过此标签指派的JsonConverter会被设置为序列化类的默认方式。用于修饰属性或域成员时,被指派的JsonConverter会序列化它们的值



 [XmlIgnore]
忽略xml 序列化

Json.net 忽略实体某些属性的序列化

原文地址:https://www.cnblogs.com/profession/p/9095569.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved