一、Hutool對象轉JSON字符串
Hutool是一個Java工具包,包含了一系列實用的工具方法,其中對象轉JSON也是其實用的特性之一。我們可以使用hutool-json工具包中的JSONUtil類中的toJsonStr方法將對象轉換為JSON字符串。
String jsonStr = JSONUtil.toJsonStr(object);
以上代碼中的object可以是任何Java對象,包括Map、List,甚至是自定義對象。
Hutool的JSONUtil還支持將對象序列化為漂亮的JSON字符串,只需在toJsonStr方法中添加參數true即可:
String prettyJsonStr = JSONUtil.toJsonStr(object, true);
二、Hutool對象轉JSON字符串字段排序
輕易說是字段排序,因為Hutool實現的其實是將字段按照字母順序排序。
String sortedJsonStr = JSONUtil.toJsonStr(object, false, true);
以上代碼中的第二個參數false表示不漂亮格式化,第三個參數true表示排序字段。
三、Hutool對象轉Map指定日期
在日常開發中,我們可能會遇到一些需要將日期轉換為固定格式的場景,在Hutool中,我們可以使用JSONUtil中的特性來實現。使用日期格式化的方法還需要引入hutool-core的DateUtil。
Map map = BeanUtil.beanToMap(obj, false, true); map.forEach((key, value) -> { if (value instanceof Date) { Date date = (Date) value; map.put(key, DateUtil.formatDateTime(date)); } }); String jsonStr = JSONUtil.toJsonStr(map);
以上代碼中的obj為Java對象,將其通過BeanUtil轉換為Map,然後為Map中的Date類型字段按照指定格式格式化,最後使用JSONUtil將其轉換為JSON字符串。
四、Hutool對象轉Map
我們也可以使用Hutool的BeanUtil將Java對象轉換為Map,然後使用JSONUtil將其轉換為JSON字符串。
Map map = BeanUtil.beanToMap(obj, false, true); String jsonStr = JSONUtil.toJsonStr(map);
五、Hutool判斷對象非空
在將Java對象轉換為JSON字符串時,我們需要確保該對象非空,Hutool提供了一種簡單的方式來檢查是否為讀鎖:
boolean isEmpty = ObjectUtil.isEmpty(obj);
以上代碼中的obj可以是任何Java對象。
六、對象轉JSONObject
有時,我們可能需要將Java對象轉換為JSONObject,Hutool也提供了一個將Map轉換為JSONObject的工具方法:
JSONObject jsonObject = JSONUtil.parseObj(map);
以上代碼中的map為Java對象轉換後的Map對象。
七、Hutool對象轉換忽略null
在將Java對象轉換為JSON字符串時,我們可能不希望包含null字段。Hutool提供了一個忽略null屬性的轉換方式:
String jsonStr = JSONUtil.toJsonStrIgnoreNull(obj);
以上代碼中的obj可以為任何Java對象。
八、Hutool對象轉List
Hutool提供了一個將JSON字符串轉換為List的方法:
List list = JSONUtil.toList(JSONArray.parseArray(jsonStr), T.class);
以上代碼中的jsonStr是JSON格式的字符串,T代表Java對象。
九、Hutool JSON轉對象
如果我們已經有了一個JSON字符串,我們可以使用JSONUtil將其轉換為Java對象:
T obj = JSONUtil.toBean(jsonStr, T.class);
以上代碼中的jsonStr為JSON字符串,T代表Java對象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/282732.html