一、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。
Mapmap = 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字符串。
Mapmap = 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的方法:
Listlist = 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对象。