Gson是一個用于Java對象和JSON互相轉換的開源庫。使用Gson將Java對象轉換成JSON字符串或JSON字符串轉換成Java對象是非常方便的。但是,有時候我們希望在將Java對象轉換成JSON字符串時去除0值或空值。下面是使用Gson去除0值和空值的方法:
Gson gson = new GsonBuilder() .serializeNulls() // 序列化null值 .setPrettyPrinting() // 格式化輸出 .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY) // 與Java字段名稱相同 .registerTypeAdapter(Double.class, new JsonSerializer() { @Override public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) { if (src == src.longValue()) { // 去除小數部分為0的情況 return new JsonPrimitive(src.longValue()); } return new JsonPrimitive(src); } }) .create(); String json = gson.toJson(object); // 將Java對象轉換成JSON字符串
以上代碼中,我們調用了Gson中的GsonBuilder()方法來創建一個Gson對象,并設置了一些序列化選項,比如是否序列化null值、是否格式化輸出等等。然后,我們注冊了一個TypeAdapter,用于處理Double類型的值。在這里,我們判斷了Double值的小數部分是否為0,如果是,就轉換成一個長整型,否則保持不變。
這樣,在將Java對象轉換成JSON字符串時,就可以去除0值或空值了。
上一篇html怎么設置圖片間隔
下一篇html怎么設置圖片比例