Hutool对象转JSON详解

一、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/n/282732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-22 08:05
下一篇 2024-12-22 08:05

相关推荐

  • Hutool——supplier1的使用

    在Java编程中,我们常常使用各种各样的工具来帮助我们更快、更好地完成开发工作,而Hutool工具就是其中一种。作为一个Java工具类库,Hutool提供了非常丰富的工具类和方法,…

    编程 2025-04-29
  • JSON的MD5

    在Web开发过程中,JSON(JavaScript Object Notation)是最常用的数据格式之一。MD5(Message-Digest Algorithm 5)是一种常用…

    编程 2025-04-29
  • 面向对象编程、类和对象

    面向对象编程(Object-Oriented Programming, OOP)是一种编程方法,它将现实世界中的事物抽象为对象(Object),对象的属性和方法被封装成类(Clas…

    编程 2025-04-29
  • 使用Java将JSON写入HDFS

    本篇文章将从以下几个方面详细阐述Java将JSON写入HDFS的方法: 一、HDFS简介 首先,先来了解一下Hadoop分布式文件系统(HDFS)。HDFS是一个可扩展性高的分布式…

    编程 2025-04-29
  • Mapster:一个高性能的对象映射库

    本文将深入介绍furion.extras.objectmapper.mapster,一个高性能的对象映射库,解释它是如何工作的以及如何在你的项目中使用它。 一、轻松地实现对象之间的…

    编程 2025-04-28
  • 如何使用Newtonsoft datatable转Json

    Newtonsoft DataTable 是一个基于.NET的JSON框架,也是一个用于序列化和反序列化JSON的强大工具。 在本文中,我们将学习如何使用Newtonsoft Da…

    编程 2025-04-28
  • Python返回对象类型

    Python是一种动态、解释型、高级编程语言。Python是一种面向对象的语言,即所有的一切都是一个对象。 一、基本类型 Python中的基本类型有整数int、浮点数float、布…

    编程 2025-04-28
  • JPRC – 轻松创建可读性强的 JSON API

    本文将介绍一个全新的 JSON API 框架 JPRC,通过该框架,您可以轻松创建可读性强的 JSON API,提高您的项目开发效率和代码可维护性。接下来将从以下几个方面对 JPR…

    编程 2025-04-27
  • Python中通过对象不能调用类方法和静态方法的解析

    当我们在使用Python编写程序时,可能会遇到通过对象调用类方法和静态方法失败的问题,那么这是为什么呢?接下来,我们将从多个方面对这个问题进行详细解析。 一、类方法和静态方法的定义…

    编程 2025-04-27
  • 使用Python获取JSON并解析

    本文将介绍如何使用Python获取JSON数据并解析相关内容。通过使用Python的第三方库,我们可以轻松地处理JSON数据,包括读取、提取和操作JSON数据。 一、获取JSON数…

    编程 2025-04-27

发表回复

登录后才能评论