这个问题 是 fastjson 中JSONObject 父类JSON 重写的toString()方法导致的假象,实际上 parseObject 后的 json是带 value为null的键值对的。toString() 方法自动过滤掉了null 的键值对,在变量查看其里头 才会看不到为null 的键值对
别人这个组件就是这么设计的,null就不显示,要么就用这个组件,遵循别人的设计,改造自己的代码,要么就下载源码,重写这个组件
其实嘛 一个很简单的问题,不说底层的东西,就依我们的逻辑思维来讲,好吧我设置null值你就丢失,好吧那我把null换成字符串null放进去,然后到前段判断好了。所以说很多时候代码是死的人是活的
public static void main(String[] args) { String jsonStr = "{\"title\":null, \"name\":\"zs\"}"; net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonStr); System.out.println(json); }
只要bill有值,bill.title怎么会报错。
说实话完全没看到你这有什么意义?
使用jsoncofig 把null转为“”
81,122
社区成员
341,744
社区内容
加载中
试试用AI创作助手写篇文章吧