最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 中 ObjectMapper用法(一個(gè)簡(jiǎn)單 Demo 講清楚)

 更新時(shí)間:2026年01月06日 16:14:53   作者:Knight_AL  
ObjectMapper是Jackson庫中的一個(gè)主要類,它負(fù)責(zé)將Java對(duì)象轉(zhuǎn)換為 JSON格式(序列化),或?qū)SON數(shù)據(jù)轉(zhuǎn)換為Java 對(duì)象(反序列化),本文給大家介紹Java 中 ObjectMapper用法,感興趣的朋友跟隨小編一起看看吧

在 Java 后端開發(fā)中,我們經(jīng)常需要和前端、第三方服務(wù)打交道,而它們最常用的數(shù)據(jù)格式就是JSON

那么問題來了:

Java 對(duì)象,如何優(yōu)雅地轉(zhuǎn)換成 JSON?

答案就是:ObjectMapper。

一、ObjectMapper 是什么?

ObjectMapperJackson 提供的核心類,用來做兩件事:

  • Java 對(duì)象 → JSON 字符串
  • JSON 字符串 → Java 對(duì)象

一句話總結(jié):

ObjectMapper = Java 世界和 JSON 世界之間的翻譯官

二、一個(gè)最簡(jiǎn)單的使用場(chǎng)景

假設(shè)我們要發(fā)送這樣一段 JSON:

{
  "name": "張三",
  "age": 18,
  "skills": ["Java", "Spring"]
}

在 Java 中,數(shù)據(jù)通常是這樣寫的:

Map<String, Object> user = new HashMap<>();
user.put("name", "張三");
user.put("age", 18);
user.put("skills", Arrays.asList("Java", "Spring"));

那如何把它變成 JSON 呢?

三、簡(jiǎn)單 Demo:Java 對(duì)象轉(zhuǎn) JSON

1?? 示例代碼

import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.*;
public class ObjectMapperDemo {
    public static void main(String[] args) throws Exception {
        // 1. 創(chuàng)建 ObjectMapper
        ObjectMapper objectMapper = new ObjectMapper();
        // 2. 構(gòu)造 Java 對(duì)象
        Map<String, Object> user = new HashMap<>();
        user.put("name", "張三");
        user.put("age", 18);
        user.put("skills", Arrays.asList("Java", "Spring"));
        // 3. Java 對(duì)象 → JSON 字符串
        String json = objectMapper.writeValueAsString(user);
        // 4. 輸出結(jié)果
        System.out.println(json);
    }
}

2?? 運(yùn)行結(jié)果

是不是很簡(jiǎn)單?

四、ObjectMapper 到底幫我們做了什么?

這一行代碼是核心:

objectMapper.writeValueAsString(user);

它自動(dòng)幫你完成了:

  • Map → JSON 對(duì)象
  • List → JSON 數(shù)組
  • String / int → JSON 基本類型
  • 自動(dòng)處理中文(UTF-8)

完全不需要你手寫 JSON 字符串。

五、為什么很多項(xiàng)目把 ObjectMapper 定義成 static?

你經(jīng)常會(huì)在項(xiàng)目中看到:

static ObjectMapper OBJECT_MAPPER = new ObjectMapper();

原因有三個(gè):

  1. ObjectMapper 是線程安全的
  2. 避免頻繁 new,提高性能
  3. 方便統(tǒng)一配置

這是業(yè)界的標(biāo)準(zhǔn)用法。

六、JSON 轉(zhuǎn)回 Java 對(duì)象

1?? 示例代碼

String json = "{\"name\":\"張三\",\"age\":18}";
ObjectMapper objectMapper = new ObjectMapper();
// JSON → Java Map
Map<String, Object> result =
        objectMapper.readValue(json, Map.class);
System.out.println(result.get("name")); // 張三
System.out.println(result.get("age"));  // 18

七、如果不用 ObjectMapper 會(huì)怎樣?

你只能手動(dòng)拼 JSON:

String json = "{ \"name\": \"" + name + "\", \"age\": " + age + " }";

? 問題很多:

  • 容易拼錯(cuò)格式
  • 不支持復(fù)雜結(jié)構(gòu)
  • 維護(hù)成本極高

?? 實(shí)際項(xiàng)目中強(qiáng)烈不推薦

八、總結(jié)

ObjectMapper 核心要點(diǎn)

點(diǎn)說明
是什么Java ↔ JSON 轉(zhuǎn)換工具
用途代替手寫 JSON
學(xué)習(xí)成本極低
實(shí)用性極高

到此這篇關(guān)于Java 中 ObjectMapper用法(一個(gè)簡(jiǎn)單 Demo 講清楚)的文章就介紹到這了,更多相關(guān)java objectmapper使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • HttpClient的RedirectStrategy重定向處理核心機(jī)制

    HttpClient的RedirectStrategy重定向處理核心機(jī)制

    這篇文章主要為大家介紹了HttpClient的RedirectStrategy重定向處理核心機(jī)制源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • ThreadLocal導(dǎo)致JVM內(nèi)存泄漏原因探究

    ThreadLocal導(dǎo)致JVM內(nèi)存泄漏原因探究

    ThreadLocal是JDK提供的線程本地變量機(jī)制,但若使用不當(dāng)可能導(dǎo)致內(nèi)存泄漏。正確的使用方式是在使用完后及時(shí)remove,或者使用弱引用等手段避免強(qiáng)引用導(dǎo)致的內(nèi)存泄漏。在多線程編程中,合理使用ThreadLocal可以提高并發(fā)性能,但也需要注意其潛在的內(nèi)存泄漏問題
    2023-04-04
  • mybatis使用pageHelper插件進(jìn)行查詢分頁

    mybatis使用pageHelper插件進(jìn)行查詢分頁

    這篇文章主要介紹了mybatis使用pageHelper插件進(jìn)行查詢分頁,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 使用純Java實(shí)現(xiàn)一個(gè)WebSSH項(xiàng)目的示例代碼

    使用純Java實(shí)現(xiàn)一個(gè)WebSSH項(xiàng)目的示例代碼

    這篇文章主要介紹了使用純Java實(shí)現(xiàn)一個(gè)WebSSH項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java Web程序?qū)崿F(xiàn)返回JSON字符串的方法總結(jié)

    Java Web程序?qū)崿F(xiàn)返回JSON字符串的方法總結(jié)

    Java Web服務(wù)器端只要把Java對(duì)象數(shù)據(jù)轉(zhuǎn)成JSON字符串,把JSON字符串以文本的形式通過response輸出即可,
    2016-05-05
  • Java回調(diào)機(jī)制解讀

    Java回調(diào)機(jī)制解讀

    本文主要介紹了Java回調(diào)機(jī)制的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • springboot使用AOP+反射實(shí)現(xiàn)Excel數(shù)據(jù)的讀取

    springboot使用AOP+反射實(shí)現(xiàn)Excel數(shù)據(jù)的讀取

    本文主要介紹了springboot使用AOP+反射實(shí)現(xiàn)Excel數(shù)據(jù)的讀取,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Spring中的事務(wù)攔截器順序如何控制詳解

    Spring中的事務(wù)攔截器順序如何控制詳解

    這篇文章主要介紹了Spring中的事務(wù)攔截器順序如何控制詳解,那么spring事務(wù)攔截器的順序如何控制呢,若我們自己也添加了一些攔截器,此時(shí)事務(wù)攔截器和自定義攔截器共存的時(shí)候,他們的順序是怎么執(zhí)行的?如何手動(dòng)來控制他們的順序,需要的朋友可以參考下
    2024-01-01
  • Spring AOP + Guava RateLimiter實(shí)現(xiàn)優(yōu)雅限流

    Spring AOP + Guava RateLimiter實(shí)現(xiàn)優(yōu)雅限流

    本文主要介紹了Spring AOP + Guava RateLimiter實(shí)現(xiàn)優(yōu)雅限流,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • 使用java實(shí)現(xiàn)Xmodem協(xié)議

    使用java實(shí)現(xiàn)Xmodem協(xié)議

    這篇文章主要介紹了使用java實(shí)現(xiàn)Xmodem協(xié)議的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論

兴义市| 景泰县| 和田县| 四川省| 衡阳县| 桦川县| 太仆寺旗| 北海市| 中牟县| 文山县| 临安市| 大安市| 鹿邑县| 闻喜县| 凤台县| 饶平县| 姜堰市| 临沂市| 全南县| 宁陵县| 莒南县| 浮梁县| 盖州市| 天镇县| 启东市| 房产| 高雄县| 年辖:市辖区| 车险| 两当县| 福泉市| 独山县| 屯昌县| 余干县| 民乐县| 凤山县| 永清县| 泾阳县| 会昌县| 格尔木市| 青龙|