欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用ObjectMapper把Json轉(zhuǎn)換為復(fù)雜的實(shí)體類

 更新時(shí)間:2021年08月17日 11:48:35   作者:熱血蝸牛  
這篇文章主要介紹了使用ObjectMapper把Json轉(zhuǎn)換為復(fù)雜的實(shí)體類操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

ObjectMapper Json轉(zhuǎn)換為復(fù)雜的實(shí)體類

實(shí)體類

主實(shí)體類* GetRigSmsResult* 里面的* smsContentList 是一個(gè)list類型的的 SmsContentSmsContent *集合。

/**
 * 
 * 
 * @author 李關(guān)欽
 * @version 2017年3月14日
 */
public class GetRigSmsResult {
    private String dataCoding;
    private String messageParts;
    private int pushFlag;
    private String receivePhoneNumber;
    private String receiveTime;
    private String sendPhoneNumber;
    private String sendTime;
    private String shortMessageId;
    private int state;
    @JsonProperty(value = "smsContent")
    private String smsContent;
    // @JsonIgnore
    private List<SmsContent> smsContentList;
    //getter、setter方法省略
}
/**
 * 組內(nèi)短信的消息內(nèi)容
 * 
 * @author 李關(guān)欽
 * @version 2017年2月24日
 */
public class SmsContent {
    private String content;
    private String part;
    private String receiveTime;
    //getter、setter方法省略
}

使用ObjectMapper轉(zhuǎn)換json為實(shí)體類

ObjectMapper mapper = new ObjectMapper();
String reqBody = mapper.writeValueAsString(param);
List<GetRigSmsResult> resultList =  mapper.readValue(respBody, new TypeReference<List<GetRigSmsResult>>() {  });

轉(zhuǎn)換的時(shí)候使用new TypeReference<List<GetRigSmsResult>>() { }可以把含有l(wèi)ist的嵌套對(duì)象也給成功轉(zhuǎn)換。

objectmapper 嵌套json轉(zhuǎn)對(duì)象報(bào)錯(cuò)

原因

是因?yàn)閷?shí)體類對(duì)象沒有加無參構(gòu)造器

1、對(duì)于沒有構(gòu)造函數(shù)的java類,編譯器會(huì)為其提供一個(gè)默認(rèn)的無參構(gòu)造函數(shù);

2、如果顯示的為類提供了構(gòu)造函數(shù),編譯器就不會(huì)再給提供默認(rèn)構(gòu)造函數(shù)了;

3、ObjectMapper將JSON字符串轉(zhuǎn)換為java對(duì)象的時(shí)候,需要調(diào)用類的無參構(gòu)造函數(shù)(分配相關(guān)地址?)

4、如果一個(gè)類有帶參構(gòu)造函數(shù),最好也為它提供一個(gè)無參構(gòu)造函數(shù),因?yàn)椴恢朗裁吹胤娇赡芫蜁?huì)用到

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何將mybatis配置到springmvc中

    如何將mybatis配置到springmvc中

    為了更方便的連接數(shù)據(jù)庫,將mybatis配置到springMVC中。接下來通過本文給大家分享如何將mybatis配置到springmvc中,需要的朋友參考下吧
    2017-11-11
  • 面試題:Java 實(shí)現(xiàn)查找旋轉(zhuǎn)數(shù)組的最小數(shù)字

    面試題:Java 實(shí)現(xiàn)查找旋轉(zhuǎn)數(shù)組的最小數(shù)字

    這篇文章主要介紹了Java 實(shí)現(xiàn)查找旋轉(zhuǎn)數(shù)組的最小數(shù)字,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • java中return語句的幾種用法舉例

    java中return語句的幾種用法舉例

    這篇文章主要介紹了Java中return語句的使用,包括有返回值類型的方法、提前返回、返回對(duì)象以及方法返回類型為void的情況,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • 深入探究Java線程的狀態(tài)與生命周期

    深入探究Java線程的狀態(tài)與生命周期

    在java中,任何對(duì)象都要有生命周期,線程也不例外,它也有自己的生命周期。線程的整個(gè)生命周期可以分為5個(gè)階段,分別是新建狀態(tài)、就緒狀態(tài)、運(yùn)行狀態(tài)、阻塞狀態(tài)和死亡狀態(tài)
    2022-04-04
  • SpringBoot詳解整合Redis緩存方法

    SpringBoot詳解整合Redis緩存方法

    本文主要介紹了SpringBoot整合Redis緩存的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Spring三級(jí)緩存解決循環(huán)依賴的解析過程

    Spring三級(jí)緩存解決循環(huán)依賴的解析過程

    這篇文章主要介紹了Spring三級(jí)緩存解決循環(huán)依賴的解析過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Spring基于注解整合Redis完整實(shí)例

    Spring基于注解整合Redis完整實(shí)例

    這篇文章主要介紹了Spring基于注解整合Redis完整實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • Springcloud RestTemplate服務(wù)調(diào)用代碼實(shí)例

    Springcloud RestTemplate服務(wù)調(diào)用代碼實(shí)例

    這篇文章主要介紹了Springcloud RestTemplate服務(wù)調(diào)用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 通過入門demo簡單了解netty使用方法

    通過入門demo簡單了解netty使用方法

    這篇文章主要介紹了通過入門demo簡單了解netty使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • WIN10環(huán)境 Maven的安裝與配置詳細(xì)教程

    WIN10環(huán)境 Maven的安裝與配置詳細(xì)教程

    這篇文章主要介紹了WIN10環(huán)境 Maven的安裝與配置詳細(xì)教程,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論