原文: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的成员的输出相关推荐

  1. [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法

    Newtonsoft.Json 序列化时的一些其它用法 在进行序列化时我们一般会选择使用匿名类型 new { },或者添加一个新类(包含想输出的所有字段).但不可避免的会出现以下情形:如属性值隐藏(敏 ...

  2. java对象json序列化时忽略值为null的属性

    当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解复制代码 import com.fasterxml.jackson.annotation.JsonInclude; imp ...

  3. Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满?

    Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 目录 Word里表格跨页时自动断开,表格后留有空白部分,未布满整页,如何操作让表格上下页均匀布满? 1.像 ...

  4. json序列化时忽略属性设置

    @JsonInclude(JsonInclude.Include.NON_NULL)   值为null的字段不参与序列化 @JsonIgnore  每次json处理都忽略该属性 eg: package ...

  5. 使用request.getparameter(“username“)时获取的值为null或空字符串““

    首先,如果出现null值的现象,说明jsp页面中input没有该name属性或没有给该属性赋值,在servlet中利用request.getparameter("username" ...

  6. 解决关于mybatis-plus修改字段时会自动忽略值为null的字段

    使用mybatis-plus修改单表的时候非常方便,但是如果想给某个字段的值设置为null,mybatis-plus在修改数据库表的时候会自动忽略掉值为null的字段.所以需要使用注解:@TableF ...

  7. 如何在SQL分组查询时将空白值和NULL值分为一组

    问题背景 出现这个问题的原因是在测试过程中,对于我要分组的类型在不同人存数据时出现了空白值和NULL两种情况(胡闹!),导致我之前的分组查询会出现NULL一个分组,空白值一个分组,由于业务上的需求是没 ...

  8. .NET 6新特性试用 | System.Text.Json序列化代码自动生成

    前言 几乎所有.NET序列化程序的实现基础都是反射.下列代码是Newtonsoft.Json的实现: protected virtual JsonProperty CreateProperty(Mem ...

  9. Python json序列化时default/object_hook指定函数处理

    在Python中,json.dumps函数接受参数default用于指定一个函数,该函数能够把自定义类型的对象转换成可序列化的基本类型.json.loads函数接受参数objec_thook用于指定函 ...

最新文章

  1. Android自定义ListView的Item无法响应OnItemClick的解决办法
  2. 机器学习:选对时机直线超车
  3. 查找内存泄漏的一个思路
  4. 文本编辑器中替换对话框的设计与实现
  5. (github标星9200+)《南瓜书》:周志华《机器学习》的代码实现
  6. ccxt k线数据_机器学习系列:深度探秘K线结构新维度
  7. java读取resouces目录下文件
  8. 用Ant编译Flex项目的几点注意事项
  9. IOS 如何获取ppi
  10. 新浪病毒NMGameX_AutoRun引起全公司所有打印共享器无法使用
  11. dreamweaver排列顺序怎么用_「化妆教程」粉底液是怎么用的?用在哪个具体步骤顺序...
  12. Java引用常量得好处_JAVA常量池的作用
  13. 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境
  14. 智能家居教程:基于机智云物联网开发平台的智能门锁v1.0(APP)
  15. 电机控制初学入门资料_电机控制如何入门
  16. 建设银行和工商银行的网银安全措施
  17. 《C++ SYNTAX》第1章 基础知识
  18. Windows XP 启动过程jjhou
  19. [HTML/CSS]Flex布局中space-evenly的兼容性
  20. Dell 3620 加装SSD遇到的磁盘100%的坑

热门文章

  1. Log4j 2 介绍
  2. 《3D数学基础》1.8 混合积
  3. repeater中后台动态为控件添加属性
  4. C++中访问类的私有数据成员的第三种方法
  5. Redhat 中裸设备(raw) 的配置和oracle中使用
  6. qpsk调制解调matlab_本科毕业设计课题—QPSK相干解调的MATLAB仿真(3)
  7. 计算机从网络上启动,如何设置计算机以从网络驱动器启动
  8. php删除指定符号,利用PHP删除特殊符号
  9. activiti 工作流_技术干货 | 金仓通用数据库中,如何使用Activiti快速开发工作流应用?...
  10. php pdo 判断数据条数据,PDO一次查询一行数据