C#里XML(JSON)序列化时,自动隐藏值为Null的成员的输出
从StackOverflow里找到的答案。发现对最新的Newtownsoft的JSON序列化也同样适用。
https://stackoverflow.com/questions/5818513/xml-serialization-hide-null-values
public bool ShouldSerializeMyNullableInt() {return MyNullableInt.HasValue; }
举例子:
public class Person {public string Name {get;set;}public int? Age {get;set;}public bool ShouldSerializeAge(){return Age.HasValue;} }
用以下代码序列化:
Person thePerson = new Person(){Name="Chris"}; XmlSerializer xs = new XmlSerializer(typeof(Person)); StringWriter sw = new StringWriter(); xs.Serialize(sw, thePerson);
得到序列化结果,没有AGE
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Name>Chris</Name> </Person>
意外的收货,对Newtonsoft也同样有作用,一次代码,两处生效,很方便。
C#里XML(JSON)序列化时,自动隐藏值为Null的成员的输出相关推荐
- [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法
Newtonsoft.Json 序列化时的一些其它用法 在进行序列化时我们一般会选择使用匿名类型 new { },或者添加一个新类(包含想输出的所有字段).但不可避免的会出现以下情形:如属性值隐藏(敏 ...
- java对象json序列化时忽略值为null的属性
当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解复制代码 import com.fasterxml.jackson.annotation.JsonInclude; imp ...
- Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满?
Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 目录 Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 1.像 ...
- json序列化时忽略属性设置
@JsonInclude(JsonInclude.Include.NON_NULL) 值为null的字段不参与序列化 @JsonIgnore 每次json处理都忽略该属性 eg: package ...
- 使用request.getparameter(“username“)时获取的值为null或空字符串““
首先,如果出现null值的现象,说明jsp页面中input没有该name属性或没有给该属性赋值,在servlet中利用request.getparameter("username" ...
- 解决关于mybatis-plus修改字段时会自动忽略值为null的字段
使用mybatis-plus修改单表的时候非常方便,但是如果想给某个字段的值设置为null,mybatis-plus在修改数据库表的时候会自动忽略掉值为null的字段.所以需要使用注解:@TableF ...
- 如何在SQL分组查询时将空白值和NULL值分为一组
问题背景 出现这个问题的原因是在测试过程中,对于我要分组的类型在不同人存数据时出现了空白值和NULL两种情况(胡闹!),导致我之前的分组查询会出现NULL一个分组,空白值一个分组,由于业务上的需求是没 ...
- .NET 6新特性试用 | System.Text.Json序列化代码自动生成
前言 几乎所有.NET序列化程序的实现基础都是反射.下列代码是Newtonsoft.Json的实现: protected virtual JsonProperty CreateProperty(Mem ...
- Python json序列化时default/object_hook指定函数处理
在Python中,json.dumps函数接受参数default用于指定一个函数,该函数能够把自定义类型的对象转换成可序列化的基本类型.json.loads函数接受参数objec_thook用于指定函 ...
最新文章
- Android自定义ListView的Item无法响应OnItemClick的解决办法
- 机器学习:选对时机直线超车
- 查找内存泄漏的一个思路
- 文本编辑器中替换对话框的设计与实现
- (github标星9200+)《南瓜书》:周志华《机器学习》的代码实现
- ccxt k线数据_机器学习系列:深度探秘K线结构新维度
- java读取resouces目录下文件
- 用Ant编译Flex项目的几点注意事项
- IOS 如何获取ppi
- 新浪病毒NMGameX_AutoRun引起全公司所有打印共享器无法使用
- dreamweaver排列顺序怎么用_「化妆教程」粉底液是怎么用的?用在哪个具体步骤顺序...
- Java引用常量得好处_JAVA常量池的作用
- 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境
- 智能家居教程:基于机智云物联网开发平台的智能门锁v1.0(APP)
- 电机控制初学入门资料_电机控制如何入门
- 建设银行和工商银行的网银安全措施
- 《C++ SYNTAX》第1章 基础知识
- Windows XP 启动过程jjhou
- [HTML/CSS]Flex布局中space-evenly的兼容性
- Dell 3620 加装SSD遇到的磁盘100%的坑
热门文章
- Log4j 2 介绍
- 《3D数学基础》1.8 混合积
- repeater中后台动态为控件添加属性
- C++中访问类的私有数据成员的第三种方法
- Redhat 中裸设备(raw) 的配置和oracle中使用
- qpsk调制解调matlab_本科毕业设计课题—QPSK相干解调的MATLAB仿真(3)
- 计算机从网络上启动,如何设置计算机以从网络驱动器启动
- php删除指定符号,利用PHP删除特殊符号
- activiti 工作流_技术干货 | 金仓通用数据库中,如何使用Activiti快速开发工作流应用?...
- php pdo 判断数据条数据,PDO一次查询一行数据