工程場景:須要將一個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);java