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

JSONObject如何轉為實體類對象

 更新時間:2024年11月11日 09:17:31   作者:有點野的程序猿  
介紹了JSONObject轉為實體類對象的三種方法:JSONObject中的toJavaObject方法和getObject方法支持深轉換,而JSON中的parseObject方法只能轉換一層對象,此外,還補充說明了在對JSON轉為實體類對象時,無論JSON中的數據字段是否多于或少于實體類中字段,轉化都不會報錯

JSONObject轉為實體類對象

JSONObject js = new JSONObject();
js.put("name", "張三");
js.put("age", 18);
Student student = JSON.toJavaObject(js, Student.class);
Student student1 = JSON.parseObject(String.valueOf(js), Student.class);

注:

  • JSON中的toJavaObject方法和JSONObject中的getObject方法支持深轉換,可以轉換實體對象;
  • 而JSON中的parseObject方法只能轉換一層對象;

深轉換

以上邊代碼中的js為例:

深轉換的的意思也就是如果在js中再put一個student對象,那么parseObject是不能轉換js中的student對象的。

補充說明

新增一個知識點

在對json轉為實體類對象時,無論json中的數據字段是否多于或少于實體類中字段,轉化都不會報錯

舉個例子:

//一個Student實體類,屬性包括姓名和年齡
@Data
public class Student {
    private String name;

    private Integer age;
}

寫一個轉為實體類的代碼

  • 情況一:json字段多于實體類字段
public class test {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "zhangsan");
        jsonObject.put("age", 18);
        jsonObject.put("gender", "male");
        Student student = JSON.parseObject(String.valueOf(jsonObject), Student.class);
        Student student1 = JSON.toJavaObject(jsonObject, Student.class);
        System.out.println(student);
        System.out.println(student1);
    }
}

結果

  • 情況二:json字段少于實體類字段
public class test {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "zhangsan");
        //jsonObject.put("age", 18);
        //jsonObject.put("gender", "male");
        Student student = JSON.parseObject(String.valueOf(jsonObject), Student.class);
        Student student1 = JSON.toJavaObject(jsonObject, Student.class);
        System.out.println(student);
        System.out.println(student1);
    }
}

結果

注:這個點其實挺重要的,這充分說明了一件事,那就是json數據格式的靈活性。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java 終止線程的4種方式小結

    java 終止線程的4種方式小結

    本文主要介紹了java終止線程的4種方式小結,包含布爾標志位,interrupt()方法,stop()方法和Thread.interrupt()方法,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Springboot如何實現對配置文件中的明文密碼加密

    Springboot如何實現對配置文件中的明文密碼加密

    這篇文章主要介紹了Springboot如何實現對配置文件中的明文密碼加密問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Nacos配置管理實踐(手把手教你搭建Nacos集群)

    Nacos配置管理實踐(手把手教你搭建Nacos集群)

    本文詳解Nacos配置管理在微服務中的實現,包括通過bootstrap.yml讀取Nacos配置、配置優(yōu)先級規(guī)則(本地>服務名>環(huán)境)、熱更新機制及集群搭建步驟(數據庫初始化、Nginx反向代理),強調多環(huán)境隔離與容災部署優(yōu)化
    2025-08-08
  • Java中instanceof關鍵字實例講解

    Java中instanceof關鍵字實例講解

    大家好,本篇文章主要講的是Java中instanceof關鍵字實例講解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • java mybatisplus批量新增和更新方式

    java mybatisplus批量新增和更新方式

    文章主要介紹使用Javamapper框架通過XML配置實現批量新增和更新操作,包含單字段更新(如刪除標記)及多字段更新的方法,但內容存在格式混亂問題,需進一步明確具體實現細節(jié)
    2025-09-09
  • 詳解Spring Cloud 跨服務數據聚合框架

    詳解Spring Cloud 跨服務數據聚合框架

    這篇文章主要介紹了詳解Spring Cloud 跨服務數據聚合框架,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • java讀取resources文件詳解及實現代碼

    java讀取resources文件詳解及實現代碼

    這篇文章主要介紹了java讀取resources文件詳解及實現代碼的相關資料,在開發(fā)項目的時候經常會遇到讀取文件夾里面的內容,需要的朋友可以參考下
    2017-07-07
  • SpringCloud Webflux過濾器增加header傳遞方式

    SpringCloud Webflux過濾器增加header傳遞方式

    這篇文章主要介紹了SpringCloud Webflux過濾器增加header傳遞方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot多模塊依賴沖突排查與架構優(yōu)化實戰(zhàn)

    SpringBoot多模塊依賴沖突排查與架構優(yōu)化實戰(zhàn)

    本文詳細記錄了在SpringBoot多模塊項目開發(fā)中遇到的依賴版本沖突、模塊依賴設計不合理等問題的排查和解決方案的過程,主要重點關注了父模塊依賴管理、模塊化拆分、按需依賴等等,需要的朋友可以參考下
    2026-04-04
  • Java 給圖片和動圖添加水印的方法

    Java 給圖片和動圖添加水印的方法

    本篇文章主要介紹了Java 給圖片和動圖添加水印的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論

泸溪县| 云阳县| 新绛县| 年辖:市辖区| 永泰县| 盐源县| 榆中县| 靖远县| 凌海市| 远安县| 永兴县| 中江县| 阿坝县| 梓潼县| 广州市| 卫辉市| 太原市| 宜宾市| 福鼎市| 视频| 寿阳县| 芮城县| 漾濞| 威信县| 孝感市| 塔城市| 建水县| 洛阳市| 治多县| 开江县| 拉孜县| 贡嘎县| 通渭县| 宕昌县| 汉寿县| 盐亭县| 乌拉特前旗| 镇赉县| 司法| 定西市| 泊头市|