解决JSONObject.toJSONString()输出null的问题
JSONObject.toJSONString()输出null
问题:fastjson的api种,jsonObject.toJsonString(),当值为null时,没打印出来
代码
JSONObject jsonObject = new JSONObject(); jsonObject.put("id",null); jsonObject.put("class","12"); jsonObject.put("name",""); // 使用默认序列化方式打印 System.out.println(jsonObject.toJSONString()); // 使用指定序列化方式 System.out.println(jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue));
输出
{"name":"","class":"12"}
{"id":null,"name":"","class":"12"}
可以发现,使用默认方式时,id没有打印null,指定序列化SerializerFeature.WriteMapNullValue,会打印null
可以看到
看下SerializerFeature属性
名称 | 含义 |
---|---|
QuoteFieldNames | 输出key时是否使用双引号,默认为true |
UseSingleQuotes | 使用单引号而不是双引号,默认为false |
WriteMapNullValue | 是否输出值为null的字段,默认为false |
WriteEnumUsingToString | Enum输出name()或者original,默认为false |
SortField | 按字段名称排序后输出。默认为false |
WriteTabAsSpecial | 把\t做转义输出,默认为false |
PrettyForma | 结果是否格式化,默认为false |
WriteClassName | 序列化时写入类型信息,默认为false。反序列化是需用到 |
不要盲目的使用JSONObject.toJSONString
JSONObject.toJSONString会默认执行你这个要解析的类中的所有get方法,很容易出现空指针异常,而应该换为gson.toJson()这个方法
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- String转JSONObject的两种方式
- Java中如何将String转JSONObject
- 关于JSONObject.toJSONString出现地址引用问题
- 利用JSONObject.toJSONString()包含或排除指定的属性
- 使用JSONObject.toJSONString 过滤掉值为空的key
- JSONObject toJSONString错误的解决
- Java使用fastjson对String、JSONObject、JSONArray相互转换
- 详解Java中String JSONObject JSONArray List<实体类>转换
- 解决String字符串转JSONObject顺序不对的问题
相关文章
java线程安全锁ReentrantReadWriteLock原理分析readLock
这篇文章主要为大家介绍了java线程安全锁ReentrantReadWriteLock原理分析readLock,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10基于ChatGPT+SpringBoot实现智能聊天AI机器人接口并上线至服务器的方法
ChatGPT是一款基于自然语言处理技术的聊天机器人,ChatGPT可以模拟真实的人类对话,并能够更贴近用户的需求,提供更有价值的服务,这篇文章主要介绍了基于ChatGPT+SpringBoot实现智能聊天AI机器人接口并上线至服务器,需要的朋友可以参考下2023-02-02Java InheritableThreadLocal使用示例详解
InheritableThreadLocal继承了ThreadLocal,此类扩展了ThreadLocal以提供从父线程到子线程的值的继承:当创建子线程时,子线程接收父线程具有的所有可继承线程局部变量的初始值。 通常子线程的值与父线程的值是一致的2022-09-09java.io.UncheckedIOException: Cannot delete C
本文主要介绍了java.io.UncheckedIOException: Cannot delete C:\Users\guo\AppData\Local\Temp\tomcat.8081问题,具有一定的参考价值,感兴趣的可以了解一下2024-05-05
最新评论