java json不生成null或者空字符串属性(详解)

大家平时用java对象转json字符串。null或者空字符串属性是不需要生成到json字符串里面的。

如下方式生成,没有使用的属性也会生成json字符串属性。

JSONArray jsonarray = JSONArray.fromObject(ecmMessageMap.values());
msgObj = jsonarray.toString();

{"actionType":"","clientIp":"","ecServiceNumber":"","ecmMessageEventFlow":null,"endTime":"","eventId":"","faultEventFlowList":[],"groupId":"","psize":0,"receiver":"","receiverEcServiceNumber":"","sender":"","startTime":"","successEventIds":[]}

Gson使用:

Gson g = new Gson();
msgObj = g.toJson(ecmMessage);

{"actionType":"1","successEventIds":[],"faultEventFlowList":[]}

如果大数据传输,或者存储到数据库,合理生成json字符串,会节约很大一部分存储空间和传输速度。比如交换监控mq数据json格式,交换监控容灾数据库存储。

以上这篇java json不生成null或者空字符串属性(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解java生成json字符串的方法

    例1:将map对象添加一次元素(包括字符串对.数组),转换成json对象一次. 代码: package com.json; //这是使用org.json的程序: import java.util.HashMap; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; public class jsontest { public static void main(String[] args)

  • js判断输入字符串是否为空、空格、null的方法总结

    判断字符串是否为空 var strings = ''; if (string.length == 0) { alert('不能为空'); } 判断字符串是否为"空"字符即用户输入了空格 var strings = ' '; if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) { alert('不能为空'); } 判断输入字符串是否为空或者全部都是空格 function isNull( str ){ if ( str

  • js判断为空Null与字符串为空简写方法

    最近突然发现自己写的JavaScript代码比较臃肿,所以开始研究JavaScript的简写方法.这样一来,可以让我们的JavaScript代码看起来比较清爽,同时也可以提高我们的技术.那么判断为空怎么简写呢? 下面就是有关判断为空的简写方法. 代码如下 复制代码 代码如下: if (variable1 !== null || variable1 !== undefined || variable1 !== '') { var variable2 = variable1; } 上面的意思是说如果

  • java json不生成null或者空字符串属性(详解)

    大家平时用java对象转json字符串.null或者空字符串属性是不需要生成到json字符串里面的. 如下方式生成,没有使用的属性也会生成json字符串属性. JSONArray jsonarray = JSONArray.fromObject(ecmMessageMap.values()); msgObj = jsonarray.toString(); {"actionType":"","clientIp":"","

  • Java对象转JSON时动态的增删改查属性详解

    1. 前言 日常开发中少不了JSON处理,少不了需要在JSON中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON字符串增加额外字段 假如我们有这样结构的JSON: { "username":"felord.cn", "age":18 } 期望增加一个性别字段gender: { "username": "felord.cn", "age"

  • Java多文件生成并压缩下载功能(思路详解)

    年前一直忙着项目现场实施,没时间整理,今天终于得空开始整理. 做WMS系统经常会遇到导出各种类型的库存单,此时就可以在后台将这些整合压缩到一个压缩包内然后再下载压缩包,一个接口就可以完成的事. 有两个思路: 思路一:将生成的多个文件先逐个存到本地一个临时的文件夹内并压缩,获取压缩文件下载,下载完以后删除该临时文件夹和内部文件 思路二:所有都在内存中实现,将生成的多个文件的输出流转换成为byte数组塞入压缩包的输出流中,最后下载该压缩包 第一个思路虽然操作复杂,但是却很容易想到的. 第二个思路,所

  • java poi 读取单元格null或者空字符串方式

    目录 java poi 读取单元格null或空字符串 java poi读取excel单元格为空的数据,出现空指针异常 产生原因 问题解决 java poi 读取单元格null或空字符串 Cell cell = row.getCell(j, Row.RETURN_BLANK_AS_NULL); 需求 :策划同学填写的单元格有时为null 有时为空串 分条件处理 getcell 可以传入指定的策略 根据需求拿到结果分需处理 java poi读取excel单元格为空的数据,出现空指针异常 空指针异常:

  • jackson设置返回null为空字符串的操作

    1.将接口返回的字段为null的设置为空字符串: import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import org.s

  • 使用Jackson 处理 null 或者 空字符串

    目录 Jackson 处理 null 或者 空字符串 这里要区分序列化和反序列化 如果是字段属性级别的 jackson解决:null到"", 空值处理为空串 1.一个比较头疼的问题 2.代码如下 3.配置如下 Jackson 处理 null 或者 空字符串 Retrofit 配合 Jackson 反序列化,就是将字符串解析为java bean 对象 的时候 ,如果遇到服务端由于各种原因会导致 有些String类型的字段值为null ,需要替换为空字符串或者占位符"-"

  • Java不要再使用!=null判空了!

    前言 对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误. 那么,有什么办法可以避免在代码中写大量的判空语句呢? 有人说可以使用 JDK8提供的 Optional 来避免判空,但是用起来还是有些麻烦. 作者在日常工作中,封装了一个工具,可以可以链式调用对象成员而无需判空,相比原有的if null逻辑 和 JDK8提供的 Optional 更加优雅易用,在工程实践中大大提高了编码效率,也让代码更加的精准和优雅. 不优

  • Java字符串拼接详解

    目录 一.“+” 操作符 二.StringBuilder(非线程安全) 三.StringBuffer(线程安全) 四.String 类的 concat 方法 五.String 类的 join 方法 六.StringUtils.join 七.不建议在 for 循环中使用 “+” 进行字符串拼接 总结 String类原生的字符串处理方法short s=1;s=s+1;与short s=1;s+=1;的区别 一.“+” 操作符 “+” 操作符是字符串拼接最常用的方法之一.编译的时候会把 “+” 操作符

  • Java String 拼接字符串原理详解

    首先来一道思考题: String str1 = "111111"; String str2 = "222222"; String str = str1 + str2; System.out.println(str); 很明确,上述代码输出的结果是:"111111222222",但是它工作原理是怎样的呢? 由于字符串拼接太常用了,java才支持可以直接用+号对两个字符串进行拼接.**其真正实现的原理是中间通过建立临时的StringBuilder对象

  • Java将json对象转换为map键值对案例详解

    本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据 比如json数据如下: {responseHeader:{status:0,QTime:0},spellcheck:{suggestions:{中国:{numFound:9,startOffset:0,endOffset:2,suggestion:[中国工商银行, 中国人民, 中国国际, 中国农业, 中国市场, 中国经济, 中国人, 中国广播, 中国文化]}},collations:{collation:中国工商银行}}} 如

随机推荐