日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

怎么用ObjectMapper将Map转换为实体类

發(fā)布時(shí)間:2023/12/19 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 怎么用ObjectMapper将Map转换为实体类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇內(nèi)容主要講解“怎么用ObjectMapper將Map轉(zhuǎn)換為實(shí)體類”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么用ObjectMapper將Map轉(zhuǎn)換為實(shí)體類”吧!

目錄
  • ObjectMapper將復(fù)雜Map轉(zhuǎn)為實(shí)體類

    • 背景

    • 1.使用ObjectMapper要添加的依賴是

    • 2.將復(fù)雜Map開始轉(zhuǎn)換

  • objectMapper 解析復(fù)雜json toMap

    ObjectMapper將復(fù)雜Map轉(zhuǎn)為實(shí)體類

    背景

    用fastjson轉(zhuǎn)換復(fù)雜Map是淺層的可以轉(zhuǎn) 深層的轉(zhuǎn)換為null.,這時(shí)候可以用jackson來轉(zhuǎn)。

    1.使用ObjectMapper要添加的依賴是

    <!--添加jackson包-->
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.3</version>
    </dependency>

    2.將復(fù)雜Map開始轉(zhuǎn)換

    ObjectMappermapper=newObjectMapper();
    Resourceresource=mapper.convertValue(Map,Resource.class);

    注意的點(diǎn):實(shí)體類中的字段是駝峰的 首字母不能大寫。

    objectMapper 解析復(fù)雜json toMap

    publicvoidparseSettings(){
    
    Stringsettings="{\"基本設(shè)置\":{\"name\":\"基本設(shè)置\",\"entries\":[{\"name\":\"站號(hào)\",\"type\":\"number\",\"description\":\"\",\"value\":\"1\"},{\"name\":\"AppEUI\",\"type\":\"string\",\"description\":\"\",\"value\":\"2C26C503A0010006\"},{\"name\":\"DevEUI\",\"type\":\"string\",\"description\":\"\",\"value\":\"4A7703A000FC09\"},{\"name\":\"命令次數(shù)\",\"type\":\"number\",\"description\":\"\",\"value\":\"2\"},{\"name\":\"父井號(hào)\",\"type\":\"string\",\"description\":\"\",\"value\":\"test11\"}]},\"油閥間\":{\"name\":\"油閥間\",\"entries\":[{\"name\":\"上傳間隔時(shí)間\",\"type\":\"number\",\"description\":\"\",\"value\":\"2\"},{\"name\":\"設(shè)定值\",\"type\":\"number\",\"description\":\"\",\"value\":\"10\"},{\"name\":\"波動(dòng)值\",\"type\":\"number\",\"description\":\"\",\"value\":\"1\"},{\"name\":\"控制模式\",\"type\":\"number\",\"description\":\"\",\"value\":\"0\"},{\"name\":\"調(diào)節(jié)上限\",\"type\":\"number\",\"description\":\"\",\"value\":\"15\"},{\"name\":\"調(diào)節(jié)下限\",\"type\":\"number\",\"description\":\"\",\"value\":\"5\"},{\"name\":\"調(diào)節(jié)時(shí)間\",\"type\":\"number\",\"description\":\"\",\"value\":\"10\"}]},\"采集調(diào)度\":{\"name\":\"采集調(diào)度\",\"entries\":[{\"name\":\"interval\",\"type\":\"number\",\"description\":\"\",\"value\":\"2\"}]}}";
    ObjectMapperobjectMapper=newObjectMapper();
    JavaTypejavaType=objectMapper.getTypeFactory().constructMapType(HashMap.class,String.class,SettingGroup.class);
    try{
    Map<String,SettingGroup>mapSettings=objectMapper.readValue(settings,javaType);
    SettingGroupgroup=mapSettings.get("基本設(shè)置");
    for(SettingEntryentry:group.getEntries()){
    System.out.println(entry.getName());
    }
    
    group=mapSettings.get("油閥間");
    for(SettingEntryentry:group.getEntries()){
    System.out.println("entry.Name:"+entry.getName()+"entry.getValue:"+entry.getValue());
    }
    }catch(JsonParseExceptione){
    //TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(JsonMappingExceptione){
    //TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(IOExceptione){
    //TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    }

    總結(jié)

    以上是生活随笔為你收集整理的怎么用ObjectMapper将Map转换为实体类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。