一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - java 實現反射 json動態轉實體類--fastjson

java 實現反射 json動態轉實體類--fastjson

2021-08-10 10:49HL_123123 Java教程

這篇文章主要介紹了java 實現反射 json動態轉實體類--fastjson,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package test.refect;
public class Student {
    // 姓名
    private String name;
    // 年齡
    private String age;
    // 住址
    private String address;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getAge() {
        return age;
    }
 
    public void setAge(String age) {
        this.age = age;
    }
 
    public String getAddress() {
        return address;
    }
 
    public void setAddress(String address) {
        this.address = address;
    }
 
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + ", address=" + address + "]";
    }
    
    public void sayHello(Book book){
        System.out.println(book.getName());    
    }
}
?
1
2
3
4
5
6
7
8
9
10
package test.refect;
public class Book {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package test.refect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import com.alibaba.fastjson.JSONObject;
public class ExecuteWithFastJson {
    public static <T> void main(String[] args) {
        
        // Student str --> Student 主類
        String str = "test.refect.Student";
        Class<?> clazz = null;
        try {
            clazz = Class.forName(str);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
        // Book實體 str --> Book 參數類
        String bookStr = "test.refect.Book";
        Class<?> bookClazz = null;
        try {
            bookClazz = Class.forName(bookStr);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
        // json --> Book 將參數類轉為JSONOBJECT
        String bookJson = "{\"name\":\"Java\"}";
        
 
        // 實例化參數類
        T t = (T) JSONObject.parseObject(bookJson, bookClazz);
        
        // 將參數類注入到主類
        Method method =null;
        try {
            method = clazz.getDeclaredMethod("sayHello", bookClazz);
        } catch (NoSuchMethodException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
        // 執行主類
        try {
            method.invoke(clazz.newInstance(), t);
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

補充:使用fastjson 進行jsonObject轉實體類對象

?
1
2
3
4
5
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.7</version>
</dependency>

首先引入相關jar包,

假設有一個實體類User

?
1
2
3
4
public class User{
 private int id;
 private String name; 
}

然后通過fastJson進行類型轉換

?
1
2
3
4
5
6
public static void main(String[] args){
  String userString = "{"id":1,"name","lz"}";
  JSONObject userJson = JSONObject.parseObject(userString);
  User user = JSON.toJavaObject(userJson,User.class);
  
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/huanglei1234567890/article/details/80542596

延伸 · 閱讀

精彩推薦
  • Java教程SpringBoot+layui實現文件上傳功能

    SpringBoot+layui實現文件上傳功能

    Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。這篇文章主要介紹了SpringBoot+layui實現文件上傳,需要...

    藍胖子的白日夢6282021-05-29
  • Java教程Java使用自動化部署工具Gradle中的任務設定教程

    Java使用自動化部署工具Gradle中的任務設定教程

    Grandle使用同樣運行于JVM上的Groovy語言編寫,本文會對此進行初步夠用的講解,接下來我們就一起來看一下Java使用自動化部署工具Gradle中的任務設定教程: ...

    hi大頭鬼hi2592020-05-18
  • Java教程Java實現矩陣乘法以及優化的方法實例

    Java實現矩陣乘法以及優化的方法實例

    這篇文章主要給大家介紹了關于Java實現矩陣乘法以及優化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值...

    GGG_Yu3672021-08-04
  • Java教程全面解析Spring Security 過濾器鏈的機制和特性

    全面解析Spring Security 過濾器鏈的機制和特性

    這篇文章主要介紹了Spring Security 過濾器鏈的機制和特性,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考...

    碼農小胖哥2412020-07-07
  • Java教程java從字符串中提取數字的簡單實例

    java從字符串中提取數字的簡單實例

    下面小編就為大家帶來一篇java從字符串中提取數字的簡單實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 ...

    java教程網6602020-06-27
  • Java教程詳解Java中的final關鍵字的使用

    詳解Java中的final關鍵字的使用

    這篇文章主要介紹了詳解Java中的final關鍵字的使用,是Java入門學習中的基礎知識,需要的朋友可以參考下 ...

    低調小一3192019-12-30
  • Java教程Spring AOP入門Demo分享

    Spring AOP入門Demo分享

    這篇文章主要介紹了Spring AOP入門Demo分享,涉及創建maven項目,編寫切面類,通過bean配置關聯等相關內容,具有一定借鑒價值,需要的朋友可以參考下。...

    kite___4832021-02-27
  • Java教程idea 無法debug調試的解決方案

    idea 無法debug調試的解決方案

    這篇文章主要介紹了idea 無法debug調試的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面...

    夢晝初心6622020-09-09
主站蜘蛛池模板: 亚洲国产区中文在线观看 | 99久久九九 | 精品国产成a人在线观看 | 香港三级血恋3 | 久久不射电影网 | 和老外3p爽粗大免费视频 | 久久精品一区二区三区资源网 | 免费高清在线 | 动漫人物差差差动漫人物免费观看 | 特黄a大片免费视频 | 114毛片免费观看网站 | 蜜桃成熟时1997在线看免费看 | 给我视频免费看 | 女学生被老师调教在教室 | 国产成人愉拍免费视频 | 天天干天天爽天天操 | 精品综合久久久久久8888 | 亚洲spank男男实践网站 | 色播艾小青国产专区在线播放 | kk4444了欧美 | 欧美视频一二三区 | 久久三级网站 | 日本中出视频 | 久久国产乱子伦精品免费不卡 | 日韩美一区二区三区 | 亚洲第一区二区快射影院 | 91麻豆国产精品91久久久 | 国产精品免费视频能看 | 国内自拍视频在线观看 | 欧美cosplay极品video | 亚洲 欧美 清纯 校园 另类 | 国产xx肥老妇视频奂费 | 国产一级黄色网 | julia ann一hd| 欧美在线观看一区二区三 | 男人的天堂久久精品激情 | 好吊妞乱淫 | asspics大尿chinese| 亚洲精品卡1卡二卡3卡四卡 | 欧美xbxbxbbxxbb精品 | 97爱sese|