jackson 转json. 过滤null值

@Test

public void tttttt() throws JsonGenerationException, JsonMappingException, IOException {

ObjectMapper mapper = new ObjectMapper();

// 过滤对象的null属性.

mapper.setSerializationInclusion(Inclusion.NON_NULL);

// 过滤map中的null值

mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);

T1 t1 = new T1();

t1.setT(null);

t1.setT1("asdfa");

Map<String, Object> map = new HashMap<String, Object>();

map.put("asdf", t1);

map.put("fff", null);

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

list.add(null);

list.add(map);

String ret_val = mapper.writeValueAsString(list);

System.out.println(ret_val);

}

输出结果:

[null,{"asdf":{"t1":"asdfa"}}]

---

注: list好像没有可以配置除null.

---

list中的null在 org.codehaus.jackson.map.SerializationConfig.Feature 中没有发现list的设置有null的开关.

但有一个是否输出空List的属性.(就是list有,但里面没有内容)的WRITE_EMPTY_JSON_ARRAYS

--

设置jackson的很多属性可以在 org.codehaus.jackson.map.SerializationConfig.Feature和org.codehaus.jackson.map.annotate.JsonSerialize$Inclusion

里找.

时间: 2024-10-04 13:43:30

jackson 转json. 过滤null值的相关文章

automapper如何全局配置map条件过滤null值空值对所有映射起效

原文 automapper如何全局配置map条件过滤null值空值对所有映射起效 我们在使用automapper的时候经常会遇到这样的问题:假设展示给用户的数据我们用UserDto类,User类就是我们的实体类.在给用户编辑的时候,我们可能某些字段在数据库中为Null,这时候需要一些默认值 比如这里UserDto中的BirTime,然后我们有一些人的习惯是在构造函数里面进行赋值 public class User { public int Id { get; set; } public stri

JSON序列化自己主动过滤NULL值

使用Newtonsoft.Json.dll 序列化为json时主动将NULL值过滤掉.详细做法: var jSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}; var json = JsonConvert.SerializeObject(response, Formatting.Indented, jSetting); 之前转换的JSON为: {"header":{&q

JSON序列化自动过滤NULL值

使用Newtonsoft.Json.dll 序列化为json时主动将NULL值过滤掉,具体做法: var jSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}; var json = JsonConvert.SerializeObject(response, Formatting.Indented, jSetting); 之前转换的JSON为: {"header":{&q

hive对有null值的列进行avg,sum,count等操作时会不会过滤null值

在hive中,我们经常会遇到对某列进行count.sum.avg等操作计算记录数.求和.求平均值等,但这列经常会出现有null值的情况,那这些操作会不会过滤掉null能呢? 下面我们简单测试下: with tmp as(select null as col1 union allselect 666 as col1 union allselect 999 as col1)select avg(col1) avg_numm, sum(col1) sum_num, count(1) cnt, coun

直接使用提交过来的类来更新字段EntityState.Modified并过滤null值的方法

public T Update<T>(T entity) where T : ModelBase { var set = this.Set<T>(); set.Attach(entity); foreach (System.Reflection.PropertyInfo p in entity.GetType().GetProperties()) { if (p.GetValue(entity) != null) { this.Entry<T>(entity).Prop

iOS开发——model类模板(过滤null和ID)

        说明:model类模板已默认过滤null值,附加特殊情况的关键字ID名的冲突(需手动去掉注释代码).MyMessageModel为示例的名字.可以自己随便起. 1.自己创建一个继承与NSObject的类,用于当model数据模型用.然后在.h文件中根据接口文档或者json返回数据的添加相应属性.    并复制以下model类模板代码.h文件的- (instancetype)initWithDictionary:(NSDictionary *)dictionary;方法到自己创建的

hive 配置文件以及join中null值的处理

一.Hive的参数设置 1.  三种设定方式:配置文件 ·   用户自定义配置文件:$HIVE_CONF_DIR/hive-site.xml ·   默认配置文件:$HIVE_CONF_DIR/hive-default.xml 用户自定义配置会覆盖默认配置.另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hadoop的配置文件包括 ·   $HADOOP_CONF_DIR/hive-site.xml ·   $HADOOP_CONF_DIR/hive-de

oracle子查询中not in后面不能为null值的理解

首先说说oracle中的null值吧. null在oracle中代表未知,表示可能有,也可能没有.任何与null值的普通运算都为null,但可以用一些函数来处理null值,oracle排序中默认null最大. 接着进入正文 这里in后面有null,能返回数据 但加了not后,就不能返回数据了 这里的in后面的句子可以理解为or拼接,即 id in (200,201,null)可以等价于id=200 or id=201or id=null, id not in (200,201,null)可以等价

SpringBoot中使用Jackson将null值转化为&quot;&quot;或者不返回的配置

第一种方式:SpringBoot中使用Jackson将null值转化为"" 前言:在实际项目中难免会遇到null值的出现,但是我们转json时并不希望出现NULL值,而是将NULL值转化为 “” 这种空的字符串.那么,我们应该如何处理呢?在SpringBoot中,新建一个配置类即可. @Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.clas