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/zh-hk/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
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分佈式文件系統(HDFS)。HDFS是一個可擴展性高的分佈式…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 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

發表回復

登錄後才能評論