工程场景:需要将一个javaBean转换成jsonObject对象。
假设
User user = new User();
有三个属性,name、age、sex,我们对其设值
user.setName("张三");
user.setAget("32");
user.setSex(null);
现需要转换,我采用的方法是:
JSONObject jsonObjectData = (JSONObject) JSONObject.toJSON(user);
转出来的结果是:
jsonObjectData只有两个key(name与age),sex丢失了。
看了下jdk api文档,发现这是序列化造成的,JSONObject.toJSON默认是不序列化null值对应的key的,改成如下就对了。
JSONObject jsonObjectData = (JSONObject) JSONObject.toJSON(user,SerializeConfig.getGlobalInstance());
或者直接转换成字符串也行
String jsonObjectDataStr = JSONObject.toJSONString(user, SerializerFeature.WriteMapNullValue);
javabean转jsonObject
点赞
收藏