激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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
主站蜘蛛池模板: 欧美成人精品一区二区男人小说 | 久久亚洲第一 | 深夜免费福利视频 | 成人偷拍片视频在线观看 | 成人免费在线网 | 91九色视频在线观看 | 高清中文字幕在线 | 国产精品久久久久久久久久 | 色999中文字幕 | 91系列在线观看 | 久久性生活免费视频 | 国产手机国产手机在线 | 国产精品久久久久无码av | av免费大全 | 欧美18xxxx | 亚洲国产精品一区二区三区 | 草莓视频久久 | 一日本道久久久精品国产 | 国产精品91在线 | www.av520| 成人三级免费电影 | 久久成人激情视频 | 久久精品视频69 | 伊人av影院| 日本爽快片100色毛片视频 | 精品伊人 | 精品久久久久久久久久中出 | 欧美精品18 | 国产91丝袜在线播放 | 91丝袜| 国产做爰 | 成人免费在线播放 | 久久黄色影院 | 亚洲成人中文字幕在线 | 日本成人一区二区三区 | 成人在线视频免费 | 毛片在线免费视频 | 91看片在线观看视频 | 欧美亚洲国产成人 | 色婷婷一区二区三区 | 久久羞羞 |